在standalone.xml(JBOSS)中配置特定的SFSB状态超时

时间:2015-06-03 11:32:06

标签: java java-ee jboss

对于我的JEE 3.1应用程序,我有一个SFSB,我为其设置了一个特定的超时。我需要能够轻松访问此值,以便轻松配置。

首先我在SFSB课程中有注释:

@StatefulTimeout(value = 2, unit = TimeUnit.HOURS)

这可以按预期工作。但我需要这个值(很容易)可配置。因此,我删除了注释并将以下xml放在我的ejb-jar.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打包在.jar中,该.jar位于我的.ear应用程序部署中。因此我的问题是,这个设置可以放在jboss的standalone.xml文件中吗?

1 个答案:

答案 0 :(得分:2)

没有应用程序重启,没有简单的方法可以做到这一点。

如果可以,那么您可以在standalone.xml中定义系统属性。我建议使用CLI或管理控制台来实现此目的。

然后,您可以在ejb-jar.xml中使用属性值:

<stateful-timeout>
    <timeout>${my.session.timeout.value}</timeout>
    <unit>${my.session.timeout.units}</unit>
</stateful-timeout>

然后可以通过Web控制台或CLI更新属性值,并重新启动应用程序。