2012-05-10 29 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目錄還是引用機器文件系統根目錄中的目錄。

相關問題