|
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); } } }
|