菜鳥之 初學EJB

   本人以前很少接觸EJB,現在由於工作需要接觸到EJB,用到的也不多,對它也不是很瞭解,所以叫上網罩殼一些資料,學習了一下,學習心得分享如下。

     本人用的是jboss發佈的EJB,版本jboss-4.2.3.GA,具體操作如下

     1,新建一個接口類 

                   public interface Hello 
                    {
                            public String  sayHelloWorld(String name);
                  }


  2.新建一個實現類

          @Stateless  //這裏使用了註解,無狀態
         @Remote(Hello.class)  //遠程的
        public class HelloBean implements Hello

public String sayHelloWorld(String name) 
{
return "hello "+name;
}

 }

  3,將 jboss-4.2.3.GA\client裏面的jar添加到工程裏面

 4.,新建測試類

public class HelloClient {
public static void main(String[] args) 
{
Hashtable<String,String> env = new Hashtable<String,String>();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL, "localhost:1099");
env.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");

try 
{
Context ctx = new InitialContext(env);
Hello hello = (Hello)ctx.lookup("HelloBean/remote");
   System.out.println(hello.sayHelloWorld("lishuai is  a prince!"));

catch (Exception e) 
{
e.printStackTrace();
System.out.println("Exception: " + e.getMessage());
}
}
}

 5.將工程達成jar包

名字和工程名字一致 接口的名字一致,放在jboss-4.2.3.GA\server\default\deploy這裏

6.啓動jboss,運行HelloClient 文件即可。

7.新建數據源jboss-4.2.3.GA\docs\examples\jca下的mssql-ds.xml

修改如下<?xml version="1.0" encoding="UTF-8"?>


<!-- $Id: mysql-ds.xml 71535 2008-04-01 07:05:03Z [email protected] $ -->
<!--  Datasource config for MySQL using 3.0.9 available from:
http://www.mysql.com/downloads/api-jdbc-stable.html
-->


<datasources>
  <local-tx-datasource>
    <jndi-name>9zhoulongcar</jndi-name>
    <connection-url>jdbc:mysql://mysql-hostname:3306/9zhoulongcar</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>root</user-name>
    <password>root</password>
<min-pool-size>2</min-pool-size>
    <max-pool-size>100</max-pool-size>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
    <!-- should only be used on drivers after 3.22.1 with "ping" support
    <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
    -->
    <!-- sql to call when connection is created
    <new-connection-sql>some arbitrary sql</new-connection-sql>
      -->
    <!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers
    <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
      -->


    <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
    <metadata>
       <type-mapping>mySQL</type-mapping>
    </metadata>
  </local-tx-datasource>
</datasources>

8.將mysql-connector-java-5.1.10-bin.jar考到D:\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\server\default\lib下面,

9.啓動jboss,就可以看到

INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=9zhoulongcar' to JNDI name 'java:9zhoulongcar'

 信息,該'java:9zhoulongcar'jndi只可以在ejb工程裏面使用,其他不可以

10、可以通過http://localhost:8080/jmx-console/HtmlAdaptor查看數據源的配置,是否成功。


  這只是我的一些小小的學習,有很多不健全的地方,望見諒。

        這裏很淺顯,希望可以幫到該開始學習ejb的同學們

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章