通过注解方式注入并使用其他EJB或者服务

真实项目EJB对象很多,EJB之间也可以互相调用,

在项目HelloWorld下新建接口Other在cn.hqu.ejb3下:

public
interface
Other {

public
abstract
String sayMe();

}

新建实现类OtherBean在cn.hqu.ejb3下:

public
class
OtherBean implements Other {

@Override

public String sayMe() {

return
"Other";

}

}

将Javabean变成无状态会话bean,接口默认是本地接口:

@Stateless

public
class
OtherBean implements Other {

@Override

public String sayMe() {

return
"Other";

}

}

在HelloWorldBean调用OtherBean里面的方法,

获取OtherBean里面的方法:

得到一个EJB对象采用两种方法:采用JNDI查找,采用依赖注入。

通过JDNI查找:

把EJB部署到Jboss:运行Ant,deploy。

修改客户端代码:EJBCLient

public
class
EJBClient {

public
static void
main(String[] args) {

try {

InitialContextctx = newInitialContext();

HelloWorldhelloworld = (HelloWorld) ctx

.lookup("HelloWorldBean/remote");

System.out.println(helloworld.sayHello("注入的苏志达"));

}catch(NamingException e) {

e.printStackTrace();

}

}

}

运行main输出:注入的苏志达说:你好!Other,

调用成功。

代码:http://pan.baidu.com/s/1mgjxXt2

采用依赖注入的方式:


运行ant部署,执行客户端main,调用成功。

在项目中如果要使用别的EJB可以使用注入的方式。

@EJB Other other;

但是如果EJB找到这个接口被两个类实现了,会报错,因为它不知道我们要注入哪一个。

解决办法:比如要注入的是OtherBean 那么可以使用

@EJB(beanName="OtherBean")Other
other;明确指定要注入的的EJB,就不会出现上诉的问题。

@EJB只能注入EJB,其它的比如定时服务 用 @Resource TimerService
timerService;

注入数据源也是使用@Resource

@Resource(mappedName="") DataSource
dataSource;

mappedName用来指定数据源的JNDI名称。

配置jboss数据源

数据源可以减少数据库连接对象创建的数量,来提升系统的运行性能。

在Jboss创建数据源:

数据库的配置模版在F:\Java\jboss-4.2.2.GA\docs\examples\jca下找到对应数据库模版拷贝到桌面修改。

配置数据源

<datasources>

<local-tx-datasource>

<jndi-name>hquDS</jndi-name>

<connection-url>jdbc:mysql://localhost:3306/hqutest</connection-url>

<driver-class>com.mysql.jdbc.Driver</driver-class>

<user-name>root</user-name>

<password>jerome</password>

将Mysql的驱动文件拷贝到server\default\lib,重启Jboss。

配置好,进行发布,将数据源发布到Jboss,将数据源文件拷贝到server\default\deploy控制台提示发布成功。可以在信息里看到JNDI name。

进入Jboss控制台http://localhost:8080/jmx-console可以看到我们刚刚发布的数据源:在jboss.jca下。

在jboss.jca下name=hquDS,service=ManagedConnectionPool点击进去控制台配置最小最大连接数等等信息重启Jboss配置就不见了,

可以通过mysql-ds.xml配置如配置最小最大连接数在<password>jerome</password>下面加入

<password>jerome</password>

<min-pool-size>3</min-pool-size>

<max-pool-size>100</max-pool-size>

EJB通过注解方式注入并使用其他EJB或者服务、配置JBoss数据源的更多相关文章

  1. EJB通过注解方式注入并使用其它EJB或者服务、配置JBoss数据源

    版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/Jerome_s/article/details/37103171 通过注解方式注入并使用其他EJB或者服务 ...

  2. spring注解方式注入

    1.通过Resource注入 1.在属性上注入 1.默认注入 即不指定spring容器里面的名字 匹配规则:先通过属性的名字查找 再通过属性类型与实现类类型匹配查找 当有两个实现类会报错 2.通过指定 ...

  3. Spring第七弹—依赖注入之注解方式注入及编码解析@Resource原理

        注入依赖对象可以采用手工装配或自动装配,在实际应用中建议使用手工装配,因为自动装配会产生未知情况,开发人员无法预见最终的装配结果. 手工装配依赖对象  手工装配依赖对象,在这种方式中又有两种编 ...

  4. spring注解方式注入bean

    用注解的方式注入bean,spring的配置文件也要增加一些约束和导入注解所在的包 applicationContext.xml <?xml version="1.0" en ...

  5. EJB配置jboss数据源

    1.数据源的模板在\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\docs\examples\jca\下2.编辑数据源文件,比如mysql-ds.xml,命名规则是名称-ds. ...

  6. Spring使用注解方式注入多例的方式

    目前Spring+Netty的开发方式这么火热,想把Netty注册成Spring组件就一定得用多例的方式,我不由得想吐槽明明这么常见的需求网上相关博客都少的很,这里给出Spring使用注解注入多例的方 ...

  7. Ibatis,Spring整合(注解方式注入)

    applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xm ...

  8. 关于spring的注解方式注入默认值(转) -- 首字母小写

    1.是首字母小写 比如 UserAction对应的id是userAction 可以通过ApplicationContext 对象的act.getBean("userAction") ...

  9. spirngboot 注解方式注入自定义参数

    在代码中 @value("oracle.user") private String user; 在配置文件中 oracle.user=root

随机推荐

  1. java制作验证码(java验证码小程序)

    手动制作java的验证码 Web应用验证码的组成: (1)输入框 (2)显示验证码的图片 验证码的制作流程: 生成验证码的容器使用 j2ee的servlet 生成图片需要的类: (1) Buffere ...

  2. Mac终端开启代理

    使用shadowsocks开启代理,只支持浏览器开启代理,其他软件是不能够开启代理的,因为这个问题,自己一直无法用本地终端 git clone 一些库,网上查找方法,总结如下: 步骤一:开启shado ...

  3. 计蒜客NOIP2017提高组模拟赛(三)day2-数三角形

    传送门 这题有点坑啊 设A为两边颜色不同的角,B为两边颜色相同的角 那么考虑三种三角形:异色,同色,其他 对于任何一个异色三角形,一定会有三个颜色不同的角, 对于任何一个同色三角形,一定会有零个颜色不 ...

  4. ●BZOJ 2329 [HNOI2011]括号修复.cpp

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2329 题解: Splay 类似 BZOJ 2329 [HNOI2011]括号修复 只是多了一 ...

  5. 4999: This Problem Is Too Simple!

    Description 给您一颗树,每个节点有个初始值. 现在支持以下两种操作: C i x(0<=x<2^31) 表示将i节点的值改为x. Q i j x(0<=x<2^31 ...

  6. [BZOJ]1027 合金(JSOI2007)

    不知道该如何评价吧,很神的一道题,就算是10年前的题目也不可小觑啊. Description 某公司加工一种由铁.铝.锡组成的合金.他们的工作很简单.首先进口一些铁铝锡合金原材料,不同种类的原材料中铁 ...

  7. bzoj1010[HNOI2008]玩具装箱toy 斜率优化dp

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 11893  Solved: 5061[Submit][S ...

  8. BZOJ3684 大朋友和多叉树(多项式相关计算)

    设$f(x)$为树的生成函数,即$x^i$的系数为根节点权值为$i$的树的个数.不难得出$f(x)=\sum_{k\in D}f(x)^k+x$我们要求这个多项式的第$n$项,由拉格朗日反演可得$[x ...

  9. JS中三种字符串连接方式及其性能比较

    工作中经常会碰到要把2个或多个字符串连接成一个字符串的问题,在JS中处理这类问题一般有三种方法,这里将它们一一列出顺便也对它们的性能做个具体的比较. 第一种方法  用连接符“+”把要连接的字符串连起来 ...

  10. 实现鼠标双击(OnGUI)

    void OnGUI()//实现鼠标双击 { Event Mouse = Event.current; if (Mouse.isMouse && Mouse.type == Event ...