当前位置:编程学习 > JAVA >>

weblogic8.1下EJB的部署与数据库的配置

weblogic 8.1下数据库连接池的配置

weblogic 8.1下面数据库连接池的配置和tomcat、resin等都有比较大的不同,看来bea也越来越有M$的做派,喜欢自立标准。没办法,谁让他是java app server的老大。恨.....

 以MS SQLServer 2k为例。打开console:http://localhost:7001/console/,登陆进去,选择jdbc下面的Connection  Pool。然后Configure a new JDBC Connection Pool... 

 驱动程序可以选择M$的type4,也就是通常使用的M$ 4 jdbc的驱动,这样可以让程序更容易移植。假设命名为webcp,要访问的数据库是webcp:

 screen.width/2)this.width=screen.width/2" vspace=2 border=0>

 测试连接没有问题之后就可以部署到服务器上,一般是部署到myserver上。

 然后进入jdbc下面的Data Sources,Configure a new JDBC Data Source,其中JNDI Name是你查询连接池时候使用的JNDI命名,也把它设为webcp:

 screen.width/2)this.width=screen.width/2" vspace=2 border=0>

 然后在下一页中选择要使用的连接池,也就是我们刚才配置的webcp。然后也把它部署到myserver上。搞掂。
 试一下:
 Context ctx=new InitialContext();
 Object obj=ctx.lookup("webcp");
 DataSource ds=(DataSource)obj;
 Connection conn=ds.getConnection();

 有一点需要注意,SQLServer 2k中sa默认访问的数据库是maters,这有可能会造成问题。这很好解决,可以修改连接池的配置,也可以另外建立新的数据库帐号。

 下面是config.xml中的配置代码:

         DriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
        Name="webcp" Password="{3DES}fcqinoiw5ZI="
        Properties="user=sa;url=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=webcp;selectMethod=cursor;dataSourceName=SQL2000JDBC;userName=sa;databaseName=webcp;serverName=localhost"
        Targets="myserver"
        TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:microsoft:sqlserver://localhost:1433"/>
            Name="MyJDBC Data Source" PoolName="webcp" Targets="myserver"/>


weblogic8.1下EJB的部署与调用

EJB编写不容易,部署起来也不简单啊,不同的平台不同的容器不同的部署工具,头都整昏了。weblogic这东西牛,值得研究,拿它开刀。

 编写过程不说,只说部署与调用,下面这三段代码已经很能说明问题。

 1、ejb-jar.xml
 < ?xml version="1.0" encoding="UTF-8"? >
 < !DOCTYPE ejb-jar PUBLIC -//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN " target=_blank >http://java.sun.com/dtd/ejb-jar_2_0.dtd >


 < !-- Generated XML! -- >

 < ejb-jar >
  < display-name >hello< /display-name >
  < enterprise-beans >
    < session >
      < display-name >HelloBean< /display-name >
      < ejb-name >Hello< /ejb-name >
      < home >org.bromon.ejb.session.HelloHome< /home >
      < remote >org.bromon.ejb.session.Hello< /remote >
      < local-home >org.bromon.ejb.session.HelloLocalHome< /local-home >
      < local >org.bromon.ejb.session.HelloLocal< /local >
      < ejb-class >org.bromon.ejb.session.HelloBean< /ejb-class >
      < session-type >Stateless< /session-type >
      < transaction-type >Bean< /transaction-type >
      < security-identity >
        < use-caller-identity/ >
      < /security-identity >

    < /session >
  < /enterprise-beans >

 < /ejb-jar >

 2、weblogic-ejb-jar.xml(weblogic专署配置文件)
 < !DOCTYPE weblogic-ejb-jar PUBLIC -//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN " target=_blank >http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd >


 < !-- Generated XML! -- >

 < weblogic-ejb-jar >
  < weblogic-enterprise-bean >
    < ejb-name >Hello< /ejb-name >
    < stateless-session-descriptor >
      < pool >
      < /pool >

      < stateless-clustering >
      < /stateless-clustering >

    < /stateless-session-descriptor >

    < transaction-descriptor >
    < /transaction-descriptor >

    < jndi-name >Hello< /jndi-name >
    < local-jndi-name >HelloLocal< /local-jndi-name >
  < /weblogic-enterprise-bean >
 < /weblogic-ejb-jar >

 3、HelloClient.java(客户端代码,最好和四个接口一起打包)
 /*
 * Created on 2004-5-11
 */
 package org.bromon.ejb.session;
 import javax.naming.*;
 import javax.rmi.*;
 import java.util.*;
 /**
 * @author Bromon
 */
 public class HelloClient
 {
 public static void main(String args[])
 {
  try
  {
   Properties prop=new Properties();
   prop.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");//加载weblogic上下文环境
   prop.put(Context.PROVIDER_URL,"t3://localhost:7001");//weblogic专用协议
  
   Context ctx=new InitialContext(prop);
   Object obj=ctx.lookup("Hello");
   HelloHome home=(HelloHome)PortableRemoteObject.narrow(obj,HelloHome.class);
   Hello hello=home.create();
   System.out.println(hello.say());
   hello.remove();
  }catch(Exception e)
  {
   System.out.println(e);
  }
 }
 }

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,