Article View: cn.bbs.comp.lang.java
Article #21554��������JBoss��J2EEӦ��
From: ¯��
Date: Thu, 27 Nov 2003 08:35
Date: Thu, 27 Nov 2003 08:35
206 lines
17460 bytes
17460 bytes
���ߣ���ʱ��
��E_mail: j2eebeans@yahoo.com.cn��
����Ȩ�������У�����ָ����������Ҫ������ҵĿ�ģ�д��2003��08��19�գ�
�ؼ�ʣ�JBoss 3.2.1 J2EE JNDI Database
JBoss����ΪJ2EEӦ�÷�����������EJB����Խ�����ܡ������ij����ԡ���������J2EE
Ӧ�õķ�����Ӯ���˺ܶ�J2EE�����ߵ����������У��ⰲװ������JMX���ܡ��Ȳ���H
ot Deploy�������ٿ���EJBӦ�õȼ����������������÷�������ȣ��Ե���Щ��������
�����ӡ������䱾��û���ش��ȱ�ݣ����Ͼ���Open Source�Ŀ���ģʽ���ĵ����٣���
��Ҫ�ܺõ����ա���ͨ��������JBoss��Ӧ�û����Ե���Щ�������ġ�
���Ľ���Լ��Ŀ������飬�����JBoss 3.2.1�¿���J2EEһЩ��ص�ע���������
���У�����һ��Ҫ֪��JBoss 3.2.1��ΪJBoss�Ĺ�ɲ�Ʒ����JBoss 3.0.x��JBoss 4.x
��ȣ�����Ȼ��Щ������JBoss 3.0.x��JBoss 4.x�кܴ��𡣵��ǣ�һ������£���
�Ľ��ܵ����ݣ������϶��ʺ�JBoss�����汾��
������JBoss 3.2.1��ѹ��һ��û�пո��Ŀ¼·������Ϳ�������JBoss�����Ժ�
���㣬��ǰ����Ŀ�������װ��Java 2 Standard Edition��һ�о�����ʼ���ǵ���
�̡�
������JBoss 3.2.1��װ�ڣ�C:\jboss-3.2.1_tomcat-4.1.24����ʹ��default���ã�
һ�� ��������ļ�������
Ϊ����J2EEӦ�ã�������ݿ���˱ز����ٵ����ݣ�������־�������ϸ�̶ȳ��˵���
J2EEӦ�õĹؼ�EJBӦ�õĵ��Ź����J2EEӦ�õĺ��ġ��ȵȣ���Щ���ݶ���������Ҫ
֪���ġ�
��1�� ���Դ�����ã�
��JBoss 3.2.1�У��������Դ�IJ���ܼ�JBoss 3.2.1�������������ݿ������
ʵ����Ŀ¼�£�C:\jboss-3.2.1_tomcat-4.1.24\docs\examples\jca������ʹ���Ǹ�
�����ļ�ȡ����Ŀ���û�����ݿ⡣�����SQL Server 2000������Ҫʹ��mssql-ds.xm
l�ļ���֧�ֱ���������mssql-xa-ds.xml�ļ���֧��ȫ�����������Oracle 9
i��ݿ⣬����Ҫʹ��oracle-ds.xml�ļ�����oracle-xa-ds.xml�ļ����ȵȡ�������SQ
L Server 2000��
���Ƚ�mssql-ds.xml�ļ�������Ŀ¼��C:\jboss-3.2.1_tomcat-4.1.24\server\defaul
t\deploy�¡�Ȼ����ļ������������ģ�
<datasources>
<local-tx-datasource>
<jndi-name>VSSDB</jndi-name>
<connection-url>jdbc:microsoft:sqlserver://125.16.45.158:1433;
DatabaseName=DDD
</connection-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</dr
iver-class>
<user-name>sa</user-name>
<password>sa</password>
<min-pool-size>50</min-pool-size>
<max-pool-size>200</max-pool-size>
</local-tx-datasource>
</datasources>
���Ŀ��J2EEӦ��ֻ��Ҫ������������������Ѿ������Datasource�����ã�ͬʱ��
�����ý�����JDBC�Լ�EJBͨ��JNDIʹ�á����Ҫʵ��EJBʹ��Datasource������Ҫ��
��λ��Ŀ¼��C:\jboss-3.2.1_tomcat-4.1.24\server\default\conf�µ�standardjbos
scmp-jdbc.xml�ļ������磬
<jbosscmp-jdbc>
<defaults>
<datasource>java:/VSSDB1</datasource>
<datasource-mapping>MS SQLSERVER2000</datasource-mapping>
<create-table>true</create-table>
<remove-table>false</remove-table>
<read-only>false</read-only>
<time-out>300</time-out>
<pk-constraint>true</pk-constraint>
<fk-constraint>false</fk-constraint>
����������������
���У�<datasource>java:/VSSDB</datasource>�е�VSSDB����mssql-ds.xml���õ����
Դ����java:/��ǰ����������ռ�ֻ�Ƕ�JBoss����ɼ�������JBoss���Ӧ��
�Dz��ܹ�ʹ�����ﶨ������Դ����һ��ϣ�����ע�⡣
��Σ�<datasource-mapping>MS SQLSERVER2000</datasource-mapping>�е�MS SQLSER
VER2000�����ڸ��ļ�������ط��ҵ����������������ݿ⣬����������Ƶģ�ϣ���
����˼������
��2�� ��־�������ϸ�̶����ã�
����JBoss 3.2.1����������Log4j��������־��Ϣ���ϸ�ؽ�������չ��Log4j�������
�˽�Log4j�Ļ��?���������JBoss 3.2.1������־�ķ�ʽ��
JBoss 3.2.1����JMX�ܹ���ͬʱ������.xml�ļ�����Ϊ�����ļ�����˿����ҵ�λ��Ŀ
¼��C:\jboss-3.2.1_tomcat-4.1.24\server\default\conf�µ�log4j.xml�ļ������磬
����һ������ʾ�����£�
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<param name="Threshold" value="INFO"/>
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"
/>
</layout>
</appender>
���磬Ϊ�˵���JBoss 3.2.1����̨��־�������ϸ�̶ȣ�����ΪDEBUG���𣩣�������
Ҫ��value=��INFO������INFO��ΪDEBUG��
���Ŀ������ڿ���Entity Beans�����Ե���λ����log4j.xml�ļ�ͬһĿ¼�µ�stand
ardjboss.xml�ļ������ļ���Ҫ���ṩ��EJB��صĵ��ԡ����С����š��������
���Ŀ�����Entity Beans���õ�<container-name>ΪStandard CMP 2.x EntityBean��
�����е�<call-logging>���Ե�ȡֵ��Ϊtrue��
<container-configuration>
<container-name>Standard CMP 2.x EntityBean</container-name>
<call-logging>false</call-logging>
<invoker-proxy-binding-name>entity-rmi-invoker</invoker-proxy-binding-name>
<sync-on-commit-only>false</sync-on-commit-only>
������������������
����������������ڵ���Entity Beansʱͨ�����̨�����Կ���Entity Beans����
��JDBC����ϸ�ڡ�
��3�� Tomcat������ز�������ã�
���Ŀ�����ʹ��JBoss 3.2.1��Tomcat 4.1.24�ļ��ɰ汾�������ͨ����ڷֱ�λ��
Ŀ¼��C:\jboss-3.2.1_tomcat-4.1.24\server\default\deploy\jbossweb-tomcat.sar
�µ�web.xml��Ŀ¼��C:\jboss-3.2.1_tomcat-4.1.24\server\default\deploy\jbossw
eb-tomcat.sar\META-INF�µ�jboss-service.xml�ļ����ﵽĿ������ض�����
���磬����뽫HTTP����˿ڸ�Ϊ80���������jboss-service.xml�ļ��������ʹĿ
��J2EEӦ�ô�������ļ����ͣ�������web.xml�ļ���
��4�� ������ķ��ã�
������Ӧ���漰��������⣬����JDBC Driver������Խ���ЩJDBC Driver��ŵ�
Ŀ¼�£�C:\jboss-3.2.1_tomcat-4.1.24\server\default\lib��ע�⣬����Ŀ¼��C:\
jboss-3.2.1_tomcat-4.1.24\lib�¡�
�������Ŀ��J2EEӦ����أ�����Դ�ŵ�Ŀ��.war������.ear�����棬����xxx.warĿ
¼�е�WEB-INFO\lib�¡������������Σ�����Ҫ��ѭJ2EE�淶��
��Ȼ��JBoss 3.2.1�������ļ��кܶ࣬�����ṩ�ʼ������mail-service.xml�ļ�����
�ȡ�������ֻ�Ǹ����һЩ��Ϣ���������������⣬���������ű��Ľ��ܵ�һЩ����
���������⡣лл��
���� ����EJBӦ��
���EJBӦ�ã��������JBoss��Ϊ��������������Ϊ���������ԡ������ٶȿ졣��
������������÷�����������ʵ�ֻ���IJ�ͬ���������ٶȺ���
������Entity Beans������������Ҫ֪����ô���㡣��һ����Ŀ��ϵͳ�����Դ�ж�
�ٸ�������ڣ����Ƿ����Entity Beans֮��ķ�ʽ��������ݿ⡣����У�����Ҫ��
����Ӧ<container-name>��<commit-option>�ύ�����Լ�<locking-policy>���ԡ�
���磬JBoss 3.2.1���õ�<commit-option>��ʽ��4�֣�A��B��C��D����Ȼ��������E
ntity Beans������ݿ��⣬�������������A�Ǻ����ǵġ�����У�����Ҫȡ���ھ���
�����ʹ��<commit-option>��ʽ��ͬʱ��<commit-option>��ʽ��ѡ����<locking-pol
icy>�����й�ϵ��
�ܹ�����<read-only>��Entity Beans��Entity Beans Methods���������ã�������
�ٻ����������Ŀ����ԡ�
��������1:n�Ĺ�ϵ������n������ݱ�ṹ�������ܹ����EJB Container��Ч�ʡ�
������������
���ϡ�����������
���У������ص���EJB�����?���̽�֡�
һ������£�J2EEӦ�÷�����֧��JDBC����JTA����������������ͬʱ����ò�Ҫ
�ڳ�����ͬʱʹ�����������������ͣ�������JTA������Ƕ��JDBC���ڶ����棬����
Ҫ�ھ����̵ܶ�ʱ������ɣ���Ҫ�ڲ�ͬ������ʵ�������ʹ�á����磬�������˻�
��JDBC����Ĵ���ʾ��
public void processT(String orders) {
Context initCtx = new InitialContext();
javax.sql.DataSource ds = javax.sql.DataSource)initCtx.lookup
(��java:comp/env/jdbc/OrdersDB��);
java.sql.Connection conn = ds.getConnection();
try{
conn.setAutoCommit( false ); //���JDBC�����Ĭ���ύ��ʽ
orderNo = createOrder( orders );
updateOrderStatus(orderNo, ��orders created��);
conn.commit();//�ύJDBC����
}catch( Exception e ){
try{
conn.rollback();//�ع�sJDBC����
throw new EJBException(������ع��� �� + e.getMessage());
}catch( SQLException sqle ){
throw new EJBException(������SQL�������� �� + sqle.getMessage());
}
}
}
(���ԣ�Transactions in J2EE(RedBooks).pdf�е�һ��Bean�����JDBC����)
��������JTA�������ʾ��
public void processOrder(String orderMessage) {
UserTransaction transaction = mySessionContext.getUserTransaction();//���JT
A����
try{
transaction.begin();//��ʼJTA����
orderNo = sendOrder(orderMessage);
updateOrderStatus(orderNo, ��order sent��);
transaction.commit();//�ύJTA����
}catch(Exception e){
try{
transaction.rollback();//�ع�JTA����
}catch(SystemException se){
se.printStackTrace();
}
throw new EJBException(������ع��� �� + e.getMessage());
}
}
(���ԣ�Transactions in J2EE(RedBooks).pdf�е�һ��Bean�����JTA����)
ͬʱ�����Session Bean����JTA��������һ����Ҫͨ��JNDI��ȡJTA��������
�������룻���Dz������ƣ���mySessionContext.getUserTransaction()���ķ�����ȡ��
�����ʹ��������������CMT������ʹ��CMT����У����������������������
������Ŀ��EJBӦ�ñ����׳�ϵͳ���쳣�����������Dz������������ACID���ڰ�javax
.ejb���쳣���У�����NoSuchEntityException��EJBException����ϵͳ���쳣�⣬����
���쳣ȫ����Ӧ�ü��쳣��
����3�����ݣ�ֵ�ö���ע�⡣������Щ������ʹ��EJB CMT����У����ǻ������Լ���
������������Ϊ��Required���������Dz��ܹ���֤�����ACID����ˣ�ϣ�����ע��J2
EEӦ��������ʹ�õIJ�ͬ��ʽ����ϸ��������Բο�J2EE Tutorialһ���е���������
�ڡ�
���⣬
1) �ڿ���Entity Beans����У��ܹ�ʹ��CMP�ĵط�������Ҫ����
BMP�ķ�ʽ����������BMP�ķ�ʽ�����������Session Bean + JDBC�����п���ͨ��J
TA������������������ⲻ�Ǻ���Ҫ�Ļ�����
2) �ܹ�ͨ������ʵ�ֵ�������ͨ���������ĵط��������ã���
�߿���Ч�ʣ�ʹ������Ը��רע��ҵ�������?
3) ��������J2EE�淶���õĸ���������Ŀ��ϵͳ��Ҫ��ֲ����
ʹ���˺ܶ���JBoss���еļ���������ֲ��������鷳��
�� ����WebӦ��
һ������£�����WebӦ����ò���һЩThirty-Part�������Framework�����磬Strut
s��Log4j��webMethods�ȵȡ��������Զ���
��Ŀǰ���ԣ�Struts��Ӧ�û��ϳ�Ϊ�˿���WebӦ�õı��������Ƴ�����JSF�ܺõ�
ʵ������Struts�IJ���ͼ��ɡ�ͬʱ��JSFҲ������ٿ���JSP Webǰ��Ӧ�ô�������
���⣬StrutsҲǡǡ�ٽ���JSF�ķ�չ��
����JBoss 3.2.1�µ�WebӦ�õĹ�̺�����Ӧ�÷������¶���ࡣͬʱ��JBuilder 8
��9���Ѿ�֧��Struts 1.1����������ҪJBoss 3.2.1�£����Struts��EJB��JSP��Se
rvlet��JavaBean���ʵ������£����Ը�����Щ���顣
�ģ� �ܽ�
ͨ�������ε����£�������J2EEӦ����صļ������������˳�����̽�֡�����J2EEӦ
���漰����������һ��ϵͳ�������⣬Ҳ���Ǽ�ƪ���¡��������ܹ��ش�����ģ��ܶ�
������Ҫ�����ʵ����������ѧϰ��ȥ��
лл��ҡ���ӭ��Ҹ������ţ���ͬ̽��J2EE��ؿ�����Ӧ�����⡣
--
�Ҷ��� �q�ɨr�����㣩�q�ɨr
[m[1;32m�� ��Դ:���Ұ��Ͽ�վ bbs.nankai.edu.cn��[FROM: 202.113.227.189][m
Technical Details
Message-ID:
<49QNhF$ASN@bbs.nankai.edu.cn>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!c03.atl99!news.webusenet.com!ngpeer.news.aol.com!feed2.newsreader.com!newsreader.com!maily.cic.tsinghua.edu.cn!news.happynet.org!NanKaiShow Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB X-Google-Thread: f6cb0,b4e6c3bf93185211,start X-Google-Attributes: gidf6cb0,public X-Google-ArrivalTime: 2003-11-27 00:36:22 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!c03.atl99!news.webusenet.com!ngpeer.news.aol.com!feed2.newsreader.com!newsreader.com!maily.cic.tsinghua.edu.cn!news.happynet.org!NanKai From: holyelle.bbs@bbs.nankai.edu.cn (¯��) Newsgroups: cn.bbs.comp.lang.java Subject: ��������JBoss��J2EEӦ�� Date: 27 Nov 2003 08:35:04 GMT Organization: �Ұ��Ͽ�վ Message-ID: <49QNhF$ASN@bbs.nankai.edu.cn> X-Filename: Java/M.1069922079.A Lines: 206