Eclipse+Weblogic 12开发简单的Enterprise Application

在这个界面勾选Generate application.xml deployment descriptor,然后点击New Module来创建EJB和Client。

取消Web module,这里我们不创建Web Client和Connector。为Application client和EJB模块命名,之后点finish。

Eclipse就为我们生成了如下三个项目,helloClient-应用程序客户端,helloEJB-EJB模块,还有一个hello是负责把这两个模块打包成EAR部署到Weblogic。

2、编写EJB模块代码


EJB模块的代码结构如下:

其中hello.ejb.interfaces包下的Hello.java是一个远程业务接口,即运行在不同Java虚拟机里的client也可以访问它提供的服务,代码如下:

package hello.ejb.interfaces;

import javax.ejb.Remote;

@Remote

public interface Hello {

public String sayHello(String name);

}

HelloBean是一个stateless session bean。当然stateful也可以,毕竟就这一个Application Client,它的代码如下:

package hello.ejb;

import javax.ejb.Stateless;

import hello.ejb.interfaces.Hello;

@Stateless

public class HelloBean implements Hello {

@Override

public String sayHello(String name) {

return "Hello: " + name;

}

}

一个很简单的方法,给name变量加上“Hello: ”,然后返回。

3、设置Application Client


右击helloClient,选择properties。

打开Deployment Aseembly菜单,选择Manifest Entries,点Add…,把helloEJB.jar添加进去,添加此包是为了编译时不出错。点Finish。

helloClient的结构如图:

先看HelloTest.java的代码(我把默认生成的Main类删除了):

package com.hello.client;

import javax.ejb.EJB;

import hello.ejb.interfaces.Hello;

public class HelloTest {

@EJB

private static Hello hello;

/**

  • @param args

*/

public static void main(String[] args) {

System.out.println(hello.sayHello(“David”));

}

}

hello变量用了@EJB注解来表示此变量使用容器依赖注入,然后在main方法中调用它的sayHello方法,并传递变量“David”。再看META-INF下的MANIFEST.MF文件,它的内容是:

Manifest-Version: 1.0

Class-Path: helloEJB.jar

Main-Class: com.hello.client.HelloTest

Class-Path是之前在选择helloEJB项目依赖时自动添加的,Main-Class是指定包含main方法的类,这个是必须的,一会儿运行这个项目时就会知道。然后再有一个文件很重要,weblogic-application-client.xml文件,它是这样被创建的,在META-INF下新建一个文件,选择Oracle WebLogic Application Client Descriptor:

点下一步,输入名字:weblogic-application-client.xml.

它的内容是:

<?xml version="1.0" encoding="UTF-8"?>

<wls:weblogic-application-client xmlns:wls=“http://xmlns.oracle.com/weblogic/weblogic-application-client”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/javaee_5.xsd

http://xmlns.oracle.com/weblogic/weblogic-application-client

http://xmlns.oracle.com/weblogic/weblogic-application-client/1.3/weblogic-application-client.xsd">

wls:ejb-reference-description

wls:ejb-ref-namecom.hello.client.HelloTest/hello</wls:ejb-ref-name>

wls:jndi-namejava:global/hello/helloEJB/HelloBean</wls:jndi-name>

</wls:ejb-reference-description>

</wls:weblogic-application-client>

这个文件是专门用来描述Application Client项目的,若要引用EJB模块,这个文件是必须的,它指定了要引用ejb模块的变量的名称和所在的类,以及

EJB模块的JNDI名称,java:global是用来查找remote业务服务接口的。可以从weblogic console里面找到应用程序名,EJB模块名和Bean名。

4、导出Application Client与EJB包


由于WebLogic的OEPE插件不能直接在Eclipse下运行Application Client,所以我们需要把它和它引用的EJB包导出来,在命令行运行。右击helloClient,

选择Export:

然后选择Java EE下的App Client Jar file

指定Jar包的名称和路径。

点Finish创建,同样的helloEJB,选择EJB下的EJB JAR file,过程与App client jar file一样,这两个jar包都要放在同一个路径下。

5、运行helloClient


把hello这个Enterprise Application部署到WebLogic下,helloEJB和helloClient也会自动部署:

然后先设置WebLogic的环境变量,进入WebLogic安装目录,路径如下(根据自己的安装路径):

定Jar包的名称和路径。

[外链图片转存中…(img-gwgWlh9R-1725469110553)]

点Finish创建,同样的helloEJB,选择EJB下的EJB JAR file,过程与App client jar file一样,这两个jar包都要放在同一个路径下。

5、运行helloClient


把hello这个Enterprise Application部署到WebLogic下,helloEJB和helloClient也会自动部署:

[外链图片转存中…(img-anmdlqqc-1725469110553)]

然后先设置WebLogic的环境变量,进入WebLogic安装目录,路径如下(根据自己的安装路径):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值