2012-05-10 55 views
2

我通过遵循Rational Application Developer for WebSphere 8.0.4帮助中的教程,从WSDL文件创建了JAX-WS Web服务和EJB框架。如何在WebSphere Application Server 8中为EJB提供属性文件

它创建了一个EJB项目来包含我的EJB代码。 它创建了一个EJBEar项目来构建ear文件。 它创建了一个RouterWebProject来创建一个war文件。

RouterWebProject提供了servlet信息,以便我可以发布HTTP SOAP请求到servlet以发送到我的Web服务代码。

EJB服务代码调用类在使用资源束来读取名为AppSDKExamples.properties属性文件

static { 
    ResourceBundle props = ResourceBundle.getBundle("AppSDKExamples", Locale.getDefault()); 
    brokerPartnerId = props.getString("broker.partner.id"); 
    buyPartnerId = props.getString("svc.dealer.partner.id"); 
    sellPartnerId = props.getString("platform.partner.id"); 
    sellPartnerId2 = props.getString("platform.partner.id2"); 
    accountNumber = props.getString("account.number"); 
} 

我试图放置AppSDKExamples.properties文件到处我可以在同一个EJB项目想想但我总是得到一个java.util.MissingResourceException。

如何让这个属性文件可用于EJB代码?

目前的EJB耳朵看起来是这样的:

  • 的lib/AppSDKExamples.properties
  • 的lib/AppSDKExamples_en_US.properties
  • 的lib /其他jar文件
  • META-INF/MANIFEST.MF(这不包含类路径我不知道如何设置它。)
  • EJB.jar
  • WebProject.war

的EJB.jar看起来是这样的:

  • 是查找属性文件
  • COM/activant /网络/服务/ iaptest COM/activant /网络/服务/例子/类文件/ Web服务类文件
  • META-INF/MANIFEST.MF(这在classpath中AppSDKExamples.properties和AppSDKExamples_en_US.properties)
  • AppSDKExamples.properties
  • AppSDKExamples_e n_US.properties

战争文件看起来是这样的:

  • lib中包含相同的jar文件的EJB.jar文件具有
  • META-INF(类路径:/ lib目录EJB.jar )
  • WEB-INF/classes此文件夹包含两个属性文件。
  • WEB-INF/lib此文件夹包含两个属性文件。
  • WEB-INF/IBM的Web-bnd.xml
  • WEB-INF/IBM的Web-ext.xml
  • WEB-INF /网。xml

对此的任何帮助将不胜感激。 谢谢。

回答

2

如果属性文件位于EJB的根目录下,那么EJB类应该能够找到属性文件。如果您在启用Java 2安全性的情况下运行,那么您需要授予FilePermission;有关$ {webComponent}和$ {ejbComponent},请参阅PROFILE_HOME/config/cells/CELL/nodes/NODE/app.policy。

仅仅将属性文件放置在EAR/lib中将不起作用,因为EAR/lib /目录不在类路径中,只有其中的.jar文件位于类路径中。它可能会将Class-Path: lib/添加到EJB jar MANIFEST.MF中,但JavaEE规范不需要目录类路径,所以我不知道它们是否受WebSphere Application Server支持。

在MANIFEST.MF类路径中直接引用属性文件也不起作用,因为只支持JAR和目录(请参阅上面的JavaEE关于目录的注意事项)。

通常,最好从/lib中删除前导斜杠。从JavaEE平台规范中不清楚这应该引用EAR中的lib目录还是引用机器文件系统根目录中的目录。

相关问题