2010-03-24 59 views
0

我需要在Websphere中創建啓動類。這個類存在於abc.jar中。而且abc.jar在服務器啓動時需要log4j.jar。Websphere中的啓動類

對於上面的場景,我已經在websphere控制檯的classpath中創建了帶有abc.jar的啓動類,並將log4j.jar保存在WAS的ext文件夾中。這對我有用。 但問題在於其他配置文件共享WAS的相同ext文件夾,並且由於Log4j.jar而無法啓動。 如果我將Log4j.jar保存在其他位置並在類路徑中保留該位置。啓動類不會失敗。請幫助我。

回答

0

我對WebSphere不是很熟悉,也許我不完全瞭解您的問題 - 但是如何使用web.xml中定義的啓動servlet部署webapp?

這裏就是我的意思是:

  • 創建abc.war與abc.jar和log4j.jar拷貝到abc.war/WEB-INF/lib目錄
  • 定義abc.war您啓動類/WEB-INF/web.xml如下:

<web-app id="WebApp"> 
<display-name>abc.war</display-name> 
<servlet> 
    <servlet-name>ABCStartupServlet</servlet-name> 
    <display-name>ABCStartupServlet</display-name> 
    <servlet-class>abc.ABCStartupServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
... 

你有log4j.jar並在同一個地方一起abc.jar這樣,你可以使用WebSp這裏是classloader設置,如果另一個log4j版本導致問題,並且您的類在服務器啓動過程中被調用。

2

如果應用程序使用的EJB,那麼你可以使用帶有IBM-EJB-JAR-ext.xml描述,其中包括一個啓動的應用程序內啓動元件的特有特徵:

<?xml version="1.0" encoding="UTF-8"?> 
<ejb-jar-ext 
    xmlns="http://websphere.ibm.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ejb-jar-ext_1_1.xsd" 
    version="1.1"> 

    <session name="TestBean"> 
     <start-at-app-start value="true"/> 
    </session> 
</ejb-jar-ext> 
+0

此設置控制是否將在模塊/應用程序啓動時在容器中啓動EJB(即,EJB的元數據是立即處理還是推遲到首次使用EJB時​​)。它不直接與用戶可見的「啓動類」相關聯。 –