jboss和apache怎么整和在一起啊????????只有23分了 some more detail la........i downloaded a jboss already.....but i just can put it with tomcat together......any idea for me???? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一、 配置步骤:1. 将编译好的类文件(*.class)和配置描述文件(ejb-jar.xml & jboss.xml)打包。例如目录结构:com/ --abc/ --app/ --ejbmodelA/ --ejbA.class --ejbB.class --ejbmodelB/ --ejbC.class --ejbD.classMETA-INF/ --ejb-jar.xml --jboss.xml命令:(linux下面) jar cvf cms.jar com/abc/app/ejbmodelA/*.class com/abc/app/ejbmodelB/*.class META-INF 2. 将打包好的jar文件(cms.jar)copy到<Jboss HOME>/deploy目录下面即可。 二、 配置描述文件的说明1. ejb-jar.xml & jboss.xml这是EJB项目共有的两个配置文件。很明显,Jboss原用了Sun的规范,没有作任何改变。举例,ejb-jar.xml<?xml version="1.0" encoding="Cp1252"?><ejb-jar> <description>jBoss test application </description> <display-name>Test</display-name> <enterprise-beans> <entity> <description>Models a music CD</description> <ejb-name>CDBean</ejb-name>-----A <home>com.web_tomorrow.cd.CDHome</home> <remote>com.web_tomorrow.cd.CD</remote> <ejb-class>com.web_tomorrow.cd.CDBean</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>java.lang.String</prim-key-class> <reentrant>False</reentrant> <cmp-field><field-name>id</field-name></cmp-field> <cmp-field><field-name>title</field-name></cmp-field> <cmp-field><field-name>artist</field-name></cmp-field> <cmp-field><field-name>type</field-name></cmp-field> <cmp-field><field-name>notes</field-name></cmp-field> <primkey-field>id</primkey-field> </entity> <session> <description>Models a music CD collection</description> <ejb-name>CDCollectionBean</ejb-name> <home>com.web_tomorrow.cd.CDCollectionHome</home> <remote>com.web_tomorrow.cd.CDCollection</remote> <ejb-class>com.web_tomorrow.cd.CDCollectionBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> <ejb-ref> <ejb-ref-name>cd/CD</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <home>com.web_tomorrow.cd.CDHome</home> <remote>com.web_tomorrow.cd.CD</remote> <ejb-link>CDBean</ejb-link>----B </ejb-ref> </session> </enterprise-beans></ejb-jar>jboss.xml<?xml version="1.0" encoding="Cp1252"?><jboss> <secure>false</secure> <container-configurations/> <resource-managers/> <enterprise-beans> <entity> <ejb-name>CDBean</ejb-name> <jndi-name>cd/CD</jndi-name> </entity> <session> <ejb-name>CDCollectionBean</ejb-name> <jndi-name>cd/CDCollection</jndi-name> </session> </enterprise-beans></jboss> 从上面看出,ejb-jar.xml与jboss.xml两文件的接构没有很大的区别。Ejb-jar.xml具体描述各个EJB,如hom、remote interface、implement bean等,而jboss.xml即告诉EJB的用户如何得到某EJB的JNDI名字。 注意: 1.ejb-jar.xml与jboss.xml的<ejb-name></ejb-name>标签里的内容要一致,在ejb-jar.xml里描述过的EJB一定要在jboss.xml里有描述。 2.假设一个Bean A要调用另外的Bean B时候,在BeanA一定要有<ejb-ref></ejb-ref>标签,看上面例子的ejb-jar.xml文件,里边标有粗体的A和B,当Session Bean CDCollectionBean要调用 Entity Bean CDBean 来进行读写操作时,就包含了下面的描述: <ejb-ref> <ejb-ref-name>cd/CD</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <home>com.web_tomorrow.cd.CDHome</home> <remote>com.web_tomorrow.cd.CD</remote> <ejb-link>CDBean</ejb-link> </ejb-ref> 其中,<ejb-link></ejb-link>里的名字要跟被引用的CDBean描述的标签<ejb-name></ejb-name>内容一样,即都是CDBean. 2.jboss.jcml 这个文件是给Jboss调用的,主要是用来描述事件驱动Bean(Message-Driven Bean)的。我们现在主要用来描述JDBC的驱动程序和数据库连接池。例如,我们用的是Oracle数据库,所以我们应该:1. 为Jboss提供Oracle的JDBC驱动程序。Copy classes12.zip和nls_charset12.zip到<Jboss HOME>/lib/ext目录下。2. 在jboss.jcml文件里描述Orcale的驱动程序。找到标签 <mbean code="org.jboss.jdbc.JdbcProvider" name="DefaultDomain:service=JdbcProvider"> <attribute name="Drivers"> org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver </attribute> </mbean>将”oracle.jdbc.driver.OracleDriver”加到<attribute name=”Drivers”></attribute>标签里面 <mbean code="org.jboss.jdbc.JdbcProvider" name="DefaultDomain:service=JdbcProvider"> <attribute name="Drivers"> oracle.jdbc.driver.OracleDrive ,org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver </attribute> </mbean>3. 在jboss.jcml文件里描述Orcale数据连接池。参考原有的例子,copy一份,粘贴到文件末尾,稍作修改 <mbean code="org.jboss.jdbc.XADataSourceLoader" name="DefaultDomain:service=XADataSource,name=GtongDS"> <attribute name="PoolName">GtongDS</attribute> <attribute name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</attribute> <attribute name="URL">jdbc:oracle:thin:@192.168.0.4:1521:gtong</attribute> <attribute name="JDBCUser">gtong</attribute> <attribute name="Password">gtong</attribute> <attribute name="GCEnabled">true</attribute> <attribute name="GCMinIdleTime">1200000</attribute> </mbean> 另外,还要到jboss.properties文件里将jboss.xa.xidclass=oracle.jdbc.xa.OracleXid去掉注释。 3.standardjaws.xml 这个文件Jboss主要是用来描述Entity Bean与数据库之间的关系和CMP Bean的一写特殊查找方法。简单结构为: <?xml version="1.0" encoding="UTF-8"?> <jaws> <datasource>java:/GtongDS</datasource>//数据源名字 <type-mapping>Oracle8</type-mapping>//对应下面的type-mapping名字 <debug>false</debug> <default-entity> <create-table>false</create-table>//初始化时,是否为CMP EntityBean新建一张表 <remove-table>false</remove-table>//初始化时,是否为CMP EntityBean删除一张表 <tuned-updates>false</tuned-updates> <read-only>false</read-only> <time-out>300</time-out> <select-for-update>false</select-for-update> </default-entity> <enterprise-beans> <entity> <ejb-name>CDBean</ejb-name>//CMP Entity Bean 的名字,与ejb-jar.xml里的描述一样 <table-name>CDBean</table-name>//这个Entity Bean对应的一张数据表 <create-table>false</create-table>//初始化时,是否为CMP EntityBean删除旧表并新建一张表 <cmp-field> <field-name>id</field-name>//Entity Bean 里的field <column-name>id</column-name>//数据表里的field </cmp-field> <cmp-field> <field-name>title</field-name> <column-name>title</column-name> </cmp-field> <cmp-field> <field-name>artist</field-name> <column-name>artist</column-name> </cmp-field> <cmp-field> <field-name>notes</field-name> <column-name>notes</column-name> </cmp-field> <cmp-field> <field-name>type</field-name> <column-name>type</column-name> </cmp-field> <finder>//定义查找方法 <name>findByArtistAndType</name>//方法名称 <query>//0和1是指Entity Bean 的homel里定义的方法的参数顺序:findByArtistAndType(String artist,String type) artist= {0} AND type= {1}//相当于“Select * from CDBean where artist=? And type=?” </query> <order>id</order>//排序的field </finder> </entity> </enterprise-beans> <type-mappings>//下面的对照表一般可有用,不用作修改。 <type-mapping> <name> Oracle8</name> <mapping> <java-type>java.lang.Boolean</java-type> <jdbc-type>BIT</jdbc-type> <sql-type>SMALLINT</sql-type> </mapping> … </type-mapping> … </type-mappings> </jaws> 更详细的说明请参考Jboss的文档资料。4.Standardjboss.xml 这个文件是jboss用来设置各种Bean性能的。具体请参考文件。 to Anreddy(我想知道) 可以和你联系吗? 对于押宝游戏出个题目 JSP或Java调用Httpclient抓取网页,如何判断抓取完毕? blackberry 9500 "Roaming"状态下 Socket如何访问网络 这两种情况对于abc值的影响 问个XML有关的小问题~~~~~~~~~ oracle,weblogic,买一套要多少钱? 求教:JAVA中那个byte数据类型怎么使用? 用java可不可以开发硬件驱动程序 如果用regsvr32在服务器上注册了一个组件,能从那里看出这个组件已注册在服务器上? 问一个比较傻的问题 在applet中如何读取本地文件? 入门者小程序请教~~
1. 将编译好的类文件(*.class)和配置描述文件(ejb-jar.xml & jboss.xml)打包。例如目录结构:
com/
--abc/
--app/
--ejbmodelA/
--ejbA.class
--ejbB.class
--ejbmodelB/
--ejbC.class
--ejbD.class
META-INF/
--ejb-jar.xml
--jboss.xml
命令:(linux下面)
jar cvf cms.jar com/abc/app/ejbmodelA/*.class com/abc/app/ejbmodelB/*.class META-INF
2. 将打包好的jar文件(cms.jar)copy到<Jboss HOME>/deploy目录下面即可。
二、 配置描述文件的说明
1. ejb-jar.xml & jboss.xml
这是EJB项目共有的两个配置文件。很明显,Jboss原用了Sun的规范,没有作任何改变。举例,
ejb-jar.xml
<?xml version="1.0" encoding="Cp1252"?>
<ejb-jar>
<description>jBoss test application </description>
<display-name>Test</display-name>
<enterprise-beans>
<entity>
<description>Models a music CD</description>
<ejb-name>CDBean</ejb-name>-----A
<home>com.web_tomorrow.cd.CDHome</home>
<remote>com.web_tomorrow.cd.CD</remote>
<ejb-class>com.web_tomorrow.cd.CDBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
<cmp-field><field-name>id</field-name></cmp-field>
<cmp-field><field-name>title</field-name></cmp-field>
<cmp-field><field-name>artist</field-name></cmp-field>
<cmp-field><field-name>type</field-name></cmp-field>
<cmp-field><field-name>notes</field-name></cmp-field>
<primkey-field>id</primkey-field>
</entity>
<session>
<description>Models a music CD collection</description>
<ejb-name>CDCollectionBean</ejb-name>
<home>com.web_tomorrow.cd.CDCollectionHome</home>
<remote>com.web_tomorrow.cd.CDCollection</remote>
<ejb-class>com.web_tomorrow.cd.CDCollectionBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-ref>
<ejb-ref-name>cd/CD</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>com.web_tomorrow.cd.CDHome</home>
<remote>com.web_tomorrow.cd.CD</remote>
<ejb-link>CDBean</ejb-link>----B
</ejb-ref>
</session>
</enterprise-beans>
</ejb-jar>
jboss.xml
<?xml version="1.0" encoding="Cp1252"?>
<jboss>
<secure>false</secure>
<container-configurations/>
<resource-managers/>
<enterprise-beans>
<entity>
<ejb-name>CDBean</ejb-name>
<jndi-name>cd/CD</jndi-name>
</entity>
<session>
<ejb-name>CDCollectionBean</ejb-name>
<jndi-name>cd/CDCollection</jndi-name>
</session>
</enterprise-beans>
</jboss>
从上面看出,ejb-jar.xml与jboss.xml两文件的接构没有很大的区别。Ejb-jar.xml具体描述各个EJB,如hom、remote interface、implement bean等,而jboss.xml即告诉EJB的用户如何得到某EJB的JNDI名字。
注意:
1.ejb-jar.xml与jboss.xml的<ejb-name></ejb-name>标签里的内容要一致,在ejb-jar.xml里描述过的EJB一定要在jboss.xml里有描述。
2.假设一个Bean A要调用另外的Bean B时候,在BeanA一定要有<ejb-ref></ejb-ref>标签,看上面例子的ejb-jar.xml文件,里边标有粗体的A和B,当Session Bean CDCollectionBean要调用 Entity Bean CDBean 来进行读写操作时,就包含了下面的描述:
<ejb-ref>
<ejb-ref-name>cd/CD</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>com.web_tomorrow.cd.CDHome</home>
<remote>com.web_tomorrow.cd.CD</remote>
<ejb-link>CDBean</ejb-link>
</ejb-ref>
其中,<ejb-link></ejb-link>里的名字要跟被引用的CDBean描述的标签<ejb-name></ejb-name>内容一样,即都是CDBean.
2.jboss.jcml
这个文件是给Jboss调用的,主要是用来描述事件驱动Bean(Message-Driven Bean)的。我们现在主要用来描述JDBC的驱动程序和数据库连接池。例如,我们用的是Oracle数据库,所以我们应该:
1. 为Jboss提供Oracle的JDBC驱动程序。
Copy classes12.zip和nls_charset12.zip到<Jboss HOME>/lib/ext目录下。
2. 在jboss.jcml文件里描述Orcale的驱动程序。
找到标签
<mbean code="org.jboss.jdbc.JdbcProvider" name="DefaultDomain:service=JdbcProvider">
<attribute name="Drivers">
org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver
</attribute>
</mbean>
将”oracle.jdbc.driver.OracleDriver”加到<attribute name=”Drivers”></attribute>标签里面
<mbean code="org.jboss.jdbc.JdbcProvider" name="DefaultDomain:service=JdbcProvider">
<attribute name="Drivers">
oracle.jdbc.driver.OracleDrive ,org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver
</attribute>
</mbean>
3. 在jboss.jcml文件里描述Orcale数据连接池。
参考原有的例子,copy一份,粘贴到文件末尾,稍作修改
<mbean code="org.jboss.jdbc.XADataSourceLoader" name="DefaultDomain:service=XADataSource,name=GtongDS">
<attribute name="PoolName">GtongDS</attribute>
<attribute name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</attribute>
<attribute name="URL">jdbc:oracle:thin:@192.168.0.4:1521:gtong</attribute>
<attribute name="JDBCUser">gtong</attribute>
<attribute name="Password">gtong</attribute>
<attribute name="GCEnabled">true</attribute>
<attribute name="GCMinIdleTime">1200000</attribute>
</mbean>
另外,还要到jboss.properties文件里将jboss.xa.xidclass=oracle.jdbc.xa.OracleXid去掉注释。
3.standardjaws.xml
这个文件Jboss主要是用来描述Entity Bean与数据库之间的关系和CMP Bean的一写特殊查找方法。简单结构为:
<?xml version="1.0" encoding="UTF-8"?>
<jaws>
<datasource>java:/GtongDS</datasource>//数据源名字
<type-mapping>Oracle8</type-mapping>//对应下面的type-mapping名字
<debug>false</debug>
<default-entity>
<create-table>false</create-table>//初始化时,是否为CMP EntityBean新建一张表
<remove-table>false</remove-table>//初始化时,是否为CMP EntityBean删除一张表
<tuned-updates>false</tuned-updates>
<read-only>false</read-only>
<time-out>300</time-out>
<select-for-update>false</select-for-update>
</default-entity>
<enterprise-beans>
<entity>
<ejb-name>CDBean</ejb-name>//CMP Entity Bean 的名字,与ejb-jar.xml里的描述一样
<table-name>CDBean</table-name>//这个Entity Bean对应的一张数据表
<create-table>false</create-table>//初始化时,是否为CMP EntityBean删除旧表并新建一张表
<cmp-field>
<field-name>id</field-name>//Entity Bean 里的field
<column-name>id</column-name>//数据表里的field
</cmp-field>
<cmp-field>
<field-name>title</field-name>
<column-name>title</column-name>
</cmp-field>
<cmp-field>
<field-name>artist</field-name>
<column-name>artist</column-name>
</cmp-field>
<cmp-field>
<field-name>notes</field-name>
<column-name>notes</column-name>
</cmp-field>
<cmp-field>
<field-name>type</field-name>
<column-name>type</column-name>
</cmp-field>
<finder>//定义查找方法
<name>findByArtistAndType</name>//方法名称
<query>//0和1是指Entity Bean 的homel里定义的方法的参数顺序:findByArtistAndType(String artist,String type)
artist= {0} AND type= {1}//相当于“Select * from CDBean where artist=? And type=?”
</query>
<order>id</order>//排序的field
</finder>
</entity>
</enterprise-beans> <type-mappings>//下面的对照表一般可有用,不用作修改。
<type-mapping>
<name> Oracle8</name>
<mapping>
<java-type>java.lang.Boolean</java-type>
<jdbc-type>BIT</jdbc-type>
<sql-type>SMALLINT</sql-type>
</mapping>
…
</type-mapping>
…
</type-mappings>
</jaws>
更详细的说明请参考Jboss的文档资料。
4.Standardjboss.xml
这个文件是jboss用来设置各种Bean性能的。具体请参考文件。
可以和你联系吗?