相信对于刚接触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>