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:
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
1027243)]
[外链图片转存中…(img-edPGnyg1-1714851027244)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!