实战JBOSS――教你写第一个EJB-----3
来源:互联网 发布:淘宝刻假公章价格 编辑:程序博客网 时间:2024/05/21 00:45
部署我们的EJB
部署EJB在JBOSS中是一件非常容易的事,你只需简单将HelloWorld.jar拷贝到c:/ jboss-3.2.6/server/default/deploy目录下就可以了。图解如下:
这时,你可以切换到JBOSS运行的那个DOS窗口下,你会发现屏幕上会新出现如下提示信息:
客户端代码
如果没有客户端代码的话,那么EJB对我们来说几乎毫无用处。以下我们将编写客户端代码来调用这个HelloWorld。
如果你在同一台机器上运行客户端代码和JBOSS服务器的话,那以下代码无须任何修改就可以运行,但你的客户端在另一台机器上运行的话,那你要将源码中的相应行改变一下:
假设EJB部署在一台IP地址为192.168.0.1的机器上,那么就应该将以上源码改为如下:
好了,下面我就就可以编译并运行这个客户端了,如果你在编译的时候JVM报告找不到某些类的话,则可能是你没有将j2ee.jar这个包放在CLASSPATH这个路径变量中。客户端的执行结果虽然只是简单的在屏幕上打印一行“hello,world”,但它是来自于另一个世界
——JBOSS的声音!
部署EJB在JBOSS中是一件非常容易的事,你只需简单将HelloWorld.jar拷贝到c:/ jboss-3.2.6/server/default/deploy目录下就可以了。图解如下:
这时,你可以切换到JBOSS运行的那个DOS窗口下,你会发现屏幕上会新出现如下提示信息:
15:09:21,184 INFO [MainDeployer] Starting deployment of package: file:/F:/jboss -3.2.3/server/default/deploy/HelloWorld.jar 15:09:21,324 INFO [EjbModule] Creating 15:09:21,354 INFO [EjbModule] Deploying HelloWorld 15:09:21,464 INFO [EjbModule] Created 15:09:21,484 INFO [EjbModule] Starting 15:09:21,555 INFO [EjbModule] Started 15:09:21,555 INFO [MainDeployer] Successfully completed deployment of package: file:/F:/jboss-3.2.6/server/default/deploy/HelloWorld.jar |
客户端代码
如果没有客户端代码的话,那么EJB对我们来说几乎毫无用处。以下我们将编写客户端代码来调用这个HelloWorld。
如果你在同一台机器上运行客户端代码和JBOSS服务器的话,那以下代码无须任何修改就可以运行,但你的客户端在另一台机器上运行的话,那你要将源码中的相应行改变一下:
/*以下是客户端源码中需要修改的行*/ env.put(Context.PROVIDER_URL, "localhost:1099"); |
假设EJB部署在一台IP地址为192.168.0.1的机器上,那么就应该将以上源码改为如下:
/*以下是客户端源码中修改后的行*/ env.put(Context.PROVIDER_URL, "192.168.0.1:1099"); /*HelloWorldClient.java*/ package sample; import javax.naming.Context; import javax.naming.InitialContext; import java.util.Hashtable; public class HelloWorldClient { public static void main( String [] args ) { Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory"); env.put(Context.PROVIDER_URL, "localhost:1099"); env.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces"); try { Context ctx = new InitialContext(env); Object obj = ctx.lookup( "HelloWorld" ); HelloWorldHome home =(HelloWorldHome)javax.rmi.PortableRemoteObject.narrow( obj, HelloWorldHome.class ); HelloWorld helloWorld = home.create(); System.out.println( helloWorld.hello()); helloWorld.remove(); } catch ( Exception e ) { e.printStackTrace(); System.out.println( "Exception: " + e.getMessage() ); } } } |
好了,下面我就就可以编译并运行这个客户端了,如果你在编译的时候JVM报告找不到某些类的话,则可能是你没有将j2ee.jar这个包放在CLASSPATH这个路径变量中。客户端的执行结果虽然只是简单的在屏幕上打印一行“hello,world”,但它是来自于另一个世界
——JBOSS的声音!
- 实战JBOSS――教你写第一个EJB
- 实战JBOSS――教你写第一个EJB
- 实战JBOSS――教你写第一个EJB
- 实战JBOSS――教你写第一个EJB
- 实战JBOSS――教你写第一个EJB-----3
- 实战JBOSS――教你写第一个EJB---1
- 实战JBOSS――教你写第一个EJB----2
- JBOSS――第一个EJB
- JBOSS――第一个EJB
- JBOSS――第一个EJB
- JBOSS――第一个EJB
- jboss第一个ejb
- Jboss下的第一个EJB程序
- JBoss + EJB3 + MySql : 开发第一个EJB
- 第一个EJB项目(eclipse+Jboss)
- 专稿:实战EJB之- 开发和部署你的第一个Enterprise Ja
- Eclipse 3.01 + JBoss 3.2.3 + Lomboz 3.0.1,第一个ejb终于跑起来了。
- EJB学习(二)——使用Eclipse+JBOSS创建第一个EJB项目
- 实战JBOSS――教你写第一个EJB---1
- Oracle最新技术网站
- asp.net 2.0中TREEVIEW中动态增加结点
- 实战JBOSS――教你写第一个EJB----2
- Java语言之父James Gosling
- 实战JBOSS――教你写第一个EJB-----3
- Windows缓冲区溢出从零开始[0]
- 实例讲解:Java中的SOAP技术
- 英业达笔试总结,又一种风格的笔试。
- Java精品网站
- 2003年所发现的20本好新书 [ZT]
- 用Java的New IO开发网络协议
- JDK 1.5 新功能使用实例之Generics (转)
- Java语言中链表和双向链表的实现