相信對於剛接觸EJB的人來說,讓第一個程序跑起來是最麻煩的事情(這點我深有體會)。所以我根據前段時間對JBOSS的了解,整理出它的配置文件,希望能對大家有所幫助。
只要大家按照文章寫的修改相關的配置文件,一定能讓程序跑以來的。
一、文件結構概覽
1、jbossconfdefaultjboss.jcml: 數據源設定
2、jbossconfdefaultstandardjaws.XML: 數據庫類型設定
3、[project.ear包]META-INFapplication.xml: 項目基本信息設定
4、[project_ejb.jar包]META-INFejb-jar.xml: ejb信息設定
5、[project_ejb.jar包]META-INFjboss.xml: jndi信息設定
6、[project_ejb.jar包]META-INFjaws.xml: 設定類屬性與數據庫字段對應信息(CMP中使用)
7、[project_web.war包]WEB-INFweb.xml: 設定welcome_file,servlet等
二、引用
1、引用ejb:
1) 代碼:lookup("jndiEJBName")
2) ejb-jar.xml:<ejb-name>EJBName</ejb-name></ejb-ref>
3) jboss.xml:
<entity>
<ejb-name>EJBName</ejb-name>
<jndi-name>jndiEJBName</jndi-name>
</enity>
2、直接引用db(BMP):(這個配置是針對mysql)
1) 代碼:lookup("Java:comp/env/DBName")
2) ejb-jar.xml:
<entity>
<ejb-name>...</ejb-name>
...
<resource-ref>
<res-ref-name>DBName</res-ref-name>
</resource-ref>
</entity>
3、jboss.xml:
<entity>
...
<resource-ref>
<res-ref-name>DBName</res-ref-name>
<resource-name>myDB</resource-name>
</resource-ref></enity>
</entity>
<resource-managers>
<resource-manager res-class="javax.sql.DataSource">
<res-name>myDB</res-name>
<res-jndi-name>mySQLDS</res-jndi-name>
</resource-managers>
4、standardjaws.xml
<datasource>mySQLDS</datasource>
<type-mapping>mySQL</type-mapping>
<default-entity>
<create-table>false</create-table>
<remove-table>false</remove-table>
<tuned-updates>false</tuned-updates>
<read-only>false</read-only>
<time-out>300</time-out>
</default-entity>
5、jboss.jcml:
<mbean code="org.jboss.jdbc.XADataSourceLoader"
name="DefaultDomain:service=XADataSource,name=mySQLDS">
<attribute name="PoolName">mySQLDS</attribute>
<attribute name="DataSourceClass">
org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl
</attribute>
<attribute name="URL">jdbc:mysql://pyliu/cake</attribute>
<attribute name="JDBCUser">root</attribute>
<attribute name="PassWord" />
</mbean>