开发工具及J2EE服务器:MyEclipse8.6 +Jboss 5.0

首先新建一个EJB项目,然后引用EJB所需的JAR包(%JBOSS_HOME%/client 下所有JAR包);

OK,下面开始开发:

package com.ejb.inter;import javax.ejb.Remote;/*标注为远程接口*/
@Remote
public interface HelloWord {public String sayHello(String str);
}
package com.ejb.session;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;import javax.annotation.Resource;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.sql.DataSource;import com.ejb.inter.HelloWord;/*** 查找数据源成功,能执行SQL**/
@Stateless
@Remote({HelloWord.class})
public class HelloWordImpl implements HelloWord {@Resource(mappedName="java:/MySqlDS")     // @Resource 注释来注入来自JNDI 的任何资源。DataSource ds;public String sayHello(String str) {try {Connection con = ds.getConnection();PreparedStatement ps = con.prepareStatement("select * from Stu_Info");ResultSet set = ps.executeQuery();while(set.next()){System.out.println(set.getInt("stu_id")+"--"+set.getString("stu_name"));}set.close();ps.close();con.close();System.out.println("--------------");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return str+"欢迎使用EJB";}}
package com.ejb.test;import java.util.Hashtable;import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;import com.ejb.inter.HelloWord;public class TestClient {/*** @param args*/private static Context context;public static void main(String[] args) {// TODO Auto-generated method stubtry {Context ctx =getInitialContext();Object obj = ctx.lookup("HelloWordImpl/remote");HelloWord hwImpl= (HelloWord)PortableRemoteObject.narrow(obj, HelloWord.class);System.out.println(hwImpl.sayHello("中国"));} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}private static Context getInitialContext()throws Exception{if(context==null){Hashtable ht =new Hashtable();ht.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");ht.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");ht.put(Context.PROVIDER_URL, "jnp://localhost:1099");context = new InitialContext(ht);}return context;}
}

开发完毕;

然后部署到JBOSS服务器上,运行TestClient.java 后台显示 "中国欢迎使用EJB"

注:在Jboss 后台管理jmx-console中 点击左边菜单Jboss.jca ,点击service=ManagerConnectionPool可以查看当前部署的数据源;

EJB3简单Demo相关推荐

  1. EPSON机器人建立TCP/IP通讯的简单demo

    以下为我近期研究EPSON机器人通讯的经验总结,主要实现机械手接收相机发送过来的数据,从而达到对应的位置,及其简单demo. 欢迎加入知识星球[3D视觉工坊],进行交流学习.

  2. Solr配置与简单Demo[转]

    Solr配置与简单Demo 简介: solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目.它的官方网址在http://lucene.apache.org/sol ...

  3. VC++ 拖放编程简单Demo

    微软的编程类库都带有拖放编程的接口:下面看一个最简单demo:win7, vc6:新建一个对话框工程: 添加一个列表框控件:设置 接受文件 属性: 在 类向导-Class Info 做如下选择: 为W ...

  4. win32汇编定时器简单Demo

    timer.asm: .386.model flat,stdcalloption casemap:noneinclude windows.inc include user32.inc includel ...

  5. win32汇编创建线程简单Demo

    代码如下:thread.asm: .386.model flat,stdcalloption casemap:noneinclude windows.inc include user32.inc in ...

  6. rabbitMQ消息队列 – 面板介绍及简单demo

    首先rabbit安装好之后,运维会给一个控制面板. 默认账号密码为guest 登入以后可以看到具体界面. 在此鸣谢百度翻译给予的大力支持.. ###写一个简单的demo 编写之前..虽然说可以直接用底 ...

  7. python wpf教程_WPF使用IronPython库的简单Demo

    WPF使用IronPython库的简单Demo 一.IronPython和C#交互 IronPython是一个.NET平台上的Python实现,包括了完整的编译器.执行引擎与运行时支持,能够与.NET ...

  8. Ocelot 入门Demo系列(01-Ocelot极简单Demo及负载均衡的配置)

    来源:https://www.cnblogs.com/7tiny/p/10493805.html [前言] Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由.请 ...

  9. java爬虫的2种爬取方式(HTTP||Socket)简单Demo(一)

    转载自 java爬虫的2种爬取方式(HTTP||Socket)简单Demo(一) 最近在找java的小项目自己写着玩,但是找不到合适的,于是写开始学一点爬虫,自己也是感觉爬虫比较有趣.这里自己找了一个 ...

最新文章

  1. 四叶草社交平台——十天冲刺(9)
  2. 【Python】洛谷 P1175_表达式的转换(逆波兰式、中缀表达式、后缀表达式、栈)
  3. spring 构造函数注入_Spring依赖注入–字段vs设置器vs构造函数注入
  4. python3常用模块_Python3 常用模块1
  5. mfc 制作不同的文档模板mdi不同的子窗体_鹤岗水利渡槽钢模板设计-哈尔滨同顺钢模板...
  6. PTA题---求两个有序序列中位数所体现的思想。
  7. VS2012 安装番茄助手
  8. 高德地图-根据IP定位显示当前所在城市
  9. 关于STM32单片机延时微妙(delay_us)函数-hal库
  10. Latex中使用实心圆点列表
  11. 定时语音提醒软件实现
  12. 如何使用MATLAB coder将MATLAB代码转换成C/C++语言(详细图文教程)
  13. 新风医疗集团就私有化交易达成最终合并协议;​康泰生物成功分离新冠德尔塔变异株 | 医药健闻...
  14. MySQL—关联查询与子查询(从小白到大牛)
  15. IMAP协议定时监听接收邮件(QQ邮箱、网易邮箱都可)
  16. Redis Java Client选型-Jedis Lettuce Redisson
  17. uniapp 调用安卓原生插件 安卓原生又调用了第三方sdk(第三方原生开发的aar怎么转成uni可以使用的aar)
  18. Ubuntu14.04使用Systemback进行系统克隆
  19. essentialpim mysql,EssentialPIM
  20. 少儿编程:python趣味编程第一课

热门文章

  1. 拼多多引流产品卖什么好?拼多多卖什么好?
  2. 结构体 7.公共钥匙盒
  3. OpenCV的imwrite或者imshow全白
  4. 【2023 年第十三届 MathorCup 高校数学建模挑战赛】 B 题 城市轨道交通列车时刻表优化问题 42页论文及代码
  5. 啊哈 算法 Java_《啊哈!算法》.啊哈磊.高清版.pdf
  6. 工作流引擎被各种开发语言调用的思考
  7. js数据结构与算法--双向链表的实现
  8. (java)scanner.next()与scanner.nextLine()的区别
  9. 数据应用系列(1)-ab测试
  10. Upload to server password failed. Failed to transfer file . Permission denied.