gpt4 book ai didi

security - 如何将 Tomcat 的 context.xml 中的属性注入(inject)到 Seam 组件中?

转载 作者:行者123 更新时间:2023-11-28 22:03:52 25 4
gpt4 key购买 nike

Seam 文档会让您相信,如果您在 web.xml 中或通过 -D 参数定义一个属性,它会找到它并自动将其设置到您的 bean 上。所以如果你有一个名为 gateway 的 bean,它有一个属性 login 和一个 setter,你可以在 seam.properties 中创建一个名为 gateway.login 的属性,但是如果你在 -D 中定义它,你必须使用 org.seam.properties。网关.login。我让它工作(使用 -D ),但我无法让它看到 context.xml 中的 &Parameter 或 &Environment 定义。

我这样做是因为我有商户网关的 key ,我不能在项目的文本文件中拥有它,而且宁愿不在 catalina.sh 中,因为它可能用于其他应用程序。 context.xml 的好处在于它位于服务器上,并且可以限制在使用网关的一个应用程序中。

最佳答案

您应该使用 <Parameter/>选项,不是 <Environment/> (据我所知,Seam 不在 JNDI 中搜索初始化参数)。 name属性不应包括 org.jboss.seam.properties前缀(仅适用于 -D 条目),因此您应该使用:

<Parameter name="gateway.login" value="yourvalue" override="false" />

override="false"意味着此处设置的值将优先于等效值 <context-param/> web.xml 中的标签, 如果它们存在(如果你不使用 override 选项,web.xml 中定义的上下文参数优先于 context.xml 中的参数)。

关于security - 如何将 Tomcat 的 context.xml 中的属性注入(inject)到 Seam 组件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6104540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com