在 standalone.xml (JBOSS) 中配置特定的 SFSB 状态超时
Configure specific SFSB stateful-timeout in standalone.xml (JBOSS)
对于我的 JEE 3.1 应用程序,我有一个 SFSB,我为其设置了特定的超时。我需要能够轻松访问此值以使其易于配置。
首先我的 SFSB 中有注释 class:
@StatefulTimeout(value = 2, unit = TimeUnit.HOURS)
这按预期工作。但我需要这个值可以(轻松)配置。因此,我删除了注释并在我的 ejb-jar.xml 中放置了以下 xml。这再次按预期工作。
<session>
<ejb-name>MyStatefulSessionBeanName</ejb-name>
<ejb-class>foo.bar.MyStatefulSessionBean</ejb-class>
<session-type>Stateful</session-type>
<stateful-timeout>
<timeout>2</timeout>
<unit>Hours</unit>
</stateful-timeout>
</session>
但是 ejb-jar.xml 打包在我的 .ear 应用程序部署中的 .jar 中。因此我的问题是,这个设置可以放在jboss的standalone.xml文件中吗?
如果不重新启动应用程序,没有简单的方法可以做到这一点。
如果可以,那么您可以在 standalone.xml 中定义一个系统 属性。为此,我建议使用 CLI 或管理控制台。
然后您可以在您的 ejb 中使用 属性 值-jar.xml:
<stateful-timeout>
<timeout>${my.session.timeout.value}</timeout>
<unit>${my.session.timeout.units}</unit>
</stateful-timeout>
然后可以通过 Web 控制台或 CLI 更新 属性 值并重新启动您的应用程序。
对于我的 JEE 3.1 应用程序,我有一个 SFSB,我为其设置了特定的超时。我需要能够轻松访问此值以使其易于配置。
首先我的 SFSB 中有注释 class:
@StatefulTimeout(value = 2, unit = TimeUnit.HOURS)
这按预期工作。但我需要这个值可以(轻松)配置。因此,我删除了注释并在我的 ejb-jar.xml 中放置了以下 xml。这再次按预期工作。
<session>
<ejb-name>MyStatefulSessionBeanName</ejb-name>
<ejb-class>foo.bar.MyStatefulSessionBean</ejb-class>
<session-type>Stateful</session-type>
<stateful-timeout>
<timeout>2</timeout>
<unit>Hours</unit>
</stateful-timeout>
</session>
但是 ejb-jar.xml 打包在我的 .ear 应用程序部署中的 .jar 中。因此我的问题是,这个设置可以放在jboss的standalone.xml文件中吗?
如果不重新启动应用程序,没有简单的方法可以做到这一点。
如果可以,那么您可以在 standalone.xml 中定义一个系统 属性。为此,我建议使用 CLI 或管理控制台。
然后您可以在您的 ejb 中使用 属性 值-jar.xml:
<stateful-timeout>
<timeout>${my.session.timeout.value}</timeout>
<unit>${my.session.timeout.units}</unit>
</stateful-timeout>
然后可以通过 Web 控制台或 CLI 更新 属性 值并重新启动您的应用程序。