【问题标题】:Is it possible to place custom values (properties) in ejb-jar.xml?是否可以在 ejb-jar.xml 中放置自定义值(属性)?
【发布时间】:2011-08-17 22:30:17
【问题描述】:

1) 我们将 OpenEJB(嵌入式和独立)与一些已部署的 EJB 一起使用。我们想指定一些简单的静态业务规则和值(例如:icon_size=200)。通常,我们会将它们放在常规属性文件中(例如:rules.properties)。由于我们不应该在应用程序服务器中直接访问文件系统,是否可以将这些键值对放在 ejb-jar.xml 中的某个位置?

2) 如果没有,是否有标准机制可以做到这一点?这是什么?

谢谢

【问题讨论】:

    标签: ejb openejb custom-properties ejb-jar.xml


    【解决方案1】:

    使用环境入口。在 XML 中:

    <env-entry>
      <env-entry-name>icon_size</env-entry-name>
      <env-entry-type>java.lang.Integer</env-entry-type>
      <env-entry-value>200</env-entry-value>
    </env-entry>
    

    在注释中:

    @Resource(name="icon_size")
    int icon_size;
    

    【讨论】:

      【解决方案2】:

      我个人只是使​​用 .properties 文件;以及读取 .properties 和 .XML 文件并允许快速检索的 TernarySearchTree。这些文件在应用程序级别可用。但是,您可以在 EJB 3 中将 env-entry 元素注入您的 EJB。这个链接解释得很详细Injection of env entry

      【讨论】:

      • 糟糕,你在我之前回答了:-)。 +1
      【解决方案3】:

      这里有一些 OpenEJB 扩展可能有用。

      env-entries.properties

      查看Custom Injection 示例,它基本上允许在META-INF/env-entries.properties 文件中将&lt;env-entry&gt; 指定为普通属性。很适合将所有这些名称和值对折叠到一个简单的属性文件中。在内部,我们只是使用这些属性为您生成 xml。默认类型始终为 java.lang.String,这对下一部分很有用。

      java.beans.PropertyEditor 支持

      任何属于&lt;env-entry-type&gt; java.lang.String&lt;env-entry&gt; 都将使用目标类型的VM java.beans.PropertyEditor 自动转换其类型。这也是 Spring 进行转换的方式。内置转换器很少,如@Resource java.util.Date myDate@Resource java.io.File myFile

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-09
        • 2011-06-08
        • 1970-01-01
        • 2022-12-17
        • 2013-11-02
        • 2020-08-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多