TUXEDO与WEBLOGIC通过WTC方式连接
WTC调用方式:WebLogic Tuxedo Connector 提供 WebLogic Server 应用程序和 Tuxedo 服务之间的互操作性。该连接器允许 WebLogic Server 客户端调用 Tuxedo 服务,并允许 Tuxedo 客户端调用 WebLogic Server Enterprise Java Bean (EJB) 来响应服务请求。
1.EJB程序开发(此处需开发人员完成)
1.1 编写WeblogicEJB.java
package com.ceb.bankapp.ejb.bean;
import java.io.PrintStream;
import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map;
import java.util.Properties;
import javax.ejb.CreateException; import javax.ejb.EJBException; import javax.ejb.SessionBean; import javax.ejb.SessionContext; import javax.naming.InitialContext; import weblogic.wtc.jatmi.Reply;
import weblogic.wtc.jatmi.TPServiceInformation; import weblogic.wtc.jatmi.TypedCArray;
public class ListenerService implements SessionBean {
private static final long serialVersionUID = -800418557103444899L; private static InitialContext ctx; private static Object o;
private SessionContext context;
public Reply service(TPServiceInformation tpdata) { try {
if (ctx == null)
{
Properties props = new Properties(); props.put(\ \
props.put(\ ctx = new InitialContext(props); }
if (o == null) {
o = ctx.lookup(\ }
byte[] yubo = ((TypedCArray)tpdata.getServiceData()).carray; Class[] clazz = { String.class, String.class, String.class, Map.class };
Method m = o.getClass().getMethod(\ Map hm = new HashMap(); hm.put(\
Object[] objs = { \ m.invoke(o, objs);
byte[] t = (byte[])hm.get(\
TypedCArray typ = new TypedCArray(); typ.setSendSize(t.length); typ.carray = t;
tpdata.setReplyBuffer(typ); tpdata.settpurcode(0); }
catch (Exception e) {
e.printStackTrace(); }
System.out.println(\ return tpdata; }
public void ejbCreate() throws CreateException { }
public void ejbActivate() throws EJBException { }
public void ejbPassivate() throws EJBException { }
public void ejbRemove() throws EJBException {
}
public void setSessionContext(SessionContext newContext) throws EJBException { this.context = newContext; }
protected void onEjbCreate() throws CreateException { } }
1.2 配置ejb-jar.xml
http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd\
重要:配置中
1.3 配置weblogic-ejb-jar.xml
1.4 EJB程序打包成JAR
使用MyEclipse中的项目导出(Export)功能,将java文件导出成JAR文件EJB.jar。
1.5 EJB发布到weblogic
1、如果尚未执行此操作,请在管理控制台的更改中心中单击“锁定并编辑”。 2、在管理控制台的左侧窗格中,选择“部署”。 3、在右侧窗格中,单击“安装”。
4、使用“安装应用程序助手”,找到与希望安装的 EJB 对应的 JAR 文件或展开的 JAR 目录。如果指定展开的目录,则 WebLogic Server 会将所有组件安装在指定目录中以及指定目录下。
5、找到要安装的文件或目录后,单击“下一步”。
6、指定是否希望将安装程序定位为应用程序或共享库,单击“下一步”。
7、选择要对其部署 EJB 的服务器和/或群集。(注意: 如果尚未创建其他受管服务器或群集,则将不会显示此助手页),单击“下一步”。 8、检查所指定的配置设置,然后单击“完成”以完成安装。
9、如果选择了立即转到部署的配置屏幕,请单击屏幕上的选项卡,以设置 EJB 的其他配置设置。如果选择了以后更改此信息,则管理控制台将返回到“部署”表,现在其中应包含最近安装的 EJB。
10、要激活这些更改,请在管理控制台的更改中心中单击“激活更改”。并非所有更改都立即生效。某些更改必须重新启动后才能生效。
11、发布后要在“部署”页中,选中部署好的EJB,单击“启动”,将EJB服务启动到活动状态,如下表: