🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.bbs.comp.lang.java
Article #21554

��������JBoss��J2EEӦ��

#21554
From: ¯��
Date: Thu, 27 Nov 2003 08:35
206 lines
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
�� ��Դ:���Ұ��Ͽ�վ bbs.nankai.edu.cn��[FROM: 202.113.227.189] 
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!NanKai

Show 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