今天兴起,想玩一玩Java EE 6.0,于是把Netbeans6.8给下载下来了。(好像是要快一些了。)
然后写了一个EJB3的模块(HelloWorld的无状态会话Bean),部署到它自带的Glassfishv3的服务器里。
但是问题出现了,我自己建了一个Java应用程序来,想通过JNDI的方式来访问这个EJB程序。
还是按照老规矩嘛:
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
// TODO code application logic here
Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming");
props.setProperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
props.setProperty("org.omg.CORBA.ORBInitialHost", "localhost"); //host
props.setProperty("org.omg.CORBA.ORBInitialPort", "3700"); //EJB Port
Context ctx = new InitialContext(props);
HelloBeanRemote hr =
(HelloBeanRemote) ctx.lookup(HelloBeanRemote.class.getName());
System.out.println(hr.getClass().getName());
System.out.println(hr.sayHello("zbs"));
}
}
然后就去找JNDI需要的SPI文件,按照以前的规矩是:Glassfish的lib目录下,包括javaee.jar,appserv-rt.jar,appserv-ext.jar和appserv-deploy-client.jar。但是,我发现除了javaee.jar,appserv-rt.jar以外,其它的没有了。奇怪!
同时,我很好奇的打开了appserv-rt.jar文件来看一下,发现里边什么都没有,就在META-INF下面有一个pom.xml和pom.properties,没有任何的class文件,我心里暗想:这还搞个屁啊!
但是,我还是把它引入到客户端项目里去了,然后运行以上的Main类,居然跑通了。我就奇怪了,没有任何的类文件,居然JNDI成功找到了资源。但是,如果我把appserv-rt.jar这个文件给单独copy出来(放在另外一个路径下),这就不能访问了,抛出了InitialFactory类没有找到。
难道这个Maven是个什么高级玩意,神奇了。(小弟没以前没玩过Maven,这不禁激起了我学习Maven的兴趣,改天发表一个Maven的学习感言个大家。)。打开pom.xml来看,也没看出什么奇特的。这就是传说中Java EE 6.0 对JDNI的改进吗?
真实奇特!
分享到:
相关推荐
在IT行业中,Glassfish是一款广泛使用的开源应用服务器,它支持多种Java EE标准,包括JNDI(Java Naming and Directory Interface)。JNDI是Java平台的一个重要特性,它为应用程序提供了一个统一的接口来查找和访问...
### Glassfish v3 管理与配置指南 #### 标题解读 - **"Sun Glassfish v3 Administration 2009/12 PDF"**:此标题指明了文档的主题是关于Sun Microsystems(现已被Oracle收购)的Glassfish v3应用服务器的管理与配置...
### jMaki Development with Sun GlassFish V3:深入解析与应用实践 #### 一、概述 jMaki 是一种用于创建动态网页的轻量级框架,它为开发人员提供了简化的方式来构建基于 Java 的 Web 应用程序。本文档旨在介绍...
### GlassFish v3知识点概述 #### 一、GlassFish v3简介 - **定义与背景**:GlassFish v3是一款由Sun Microsystems开发的企业级应用服务器,它基于Java平台标准(Java Platform, Enterprise Edition,简称Java EE...
《Glassfish集群搭建完全手册》 在IT领域中,服务器集群是提高系统可用性和负载均衡的重要手段。Glassfish,作为一款开源的应用服务器,其集群功能的配置却常常被忽视或处理得不够详尽。本手册旨在弥补这一空缺,...
Demo of ehCache distributed caching with terracotta in glassFish v3 可以参考:http://blog.csdn.net/guobin0719/archive/2011/04/25/6361940.aspx
引起鱼猫之争的东东 可与tomcat 媲美,看好它
glassfish-v3-windows.part1
本文档旨在指导读者如何在 Eclipse 中配置 GlassFish 3.1.1,实现连接池配置和 JNDI 配置。同时,也会解决在部署过程中可能出现的异常。 一、GlassFish 3.1.1 简介 GlassFish 是一个开源的 Java EE 应用服务器,由 ...
引起鱼猫之争的东东 可与tomcat 媲美,看好它
glassfish-v3-windows.part4
glassfish-v3-windows.part2
Oracle Glassfish V3是一款开源的应用服务器,它是Java EE(企业版)平台的实现,提供了运行企业级Java应用程序的环境。本参考手册是Oracle官方提供的详细资料,是学习和理解Glassfish V3功能、配置和管理的重要资源...
当前版本——GlassFish v3 Prelude,采用了一个模块化的架构设计。 #### GlassFish Web容器相对于Tomcat的优势 ##### 易用性和生产力 - **模块化设计**:GlassFish采用了高度模块化的设计,这使得开发者可以轻松...
标题《Glassfish集群搭建手册》指的是利用Oracle提供的Glassfish应用服务器软件进行集群配置的详细指南。此手册涵盖了在不同场景下通过图形化界面和命令行方式搭建集群的整个过程,并且描述了如何配置集群环境以支持...
GlassFish 安装配置文档 GlassFish 是一个基于 Java 的开源应用服务器,提供了一个强大且灵活的平台来部署和管理基于 Java 的应用程序。本文档将指导 readers 通过安装和配置 GlassFish 服务器,并将其与 Eclipse ...
GlassFish 连接池配置指南 GlassFish 是一个功能强大且流行的Java EE 应用服务器,它提供了强大的连接池机制,使得应用程序可以高效地访问数据库。下面,我们将介绍如何在 GlassFish 管理员界面中配置连接池,特别...