`
starbhhc
  • 浏览: 654716 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

使用JNDI显式设置Context

    博客分类:
  • EJB
阅读更多
使用JNDI显式设置Context

File: HelloServiceBean.java   
  
  
import javax.ejb.Stateless;   
  
@Stateless  
public class HelloServiceBean implements HelloServiceLocal, HelloServiceRemote {   
    public String sayHello(String name) {   
        return "Hello1, "  + name;   
    }   
}   
  
       
  
  
File: HelloServiceLocal.java   
  
  
  
import javax.ejb.Local;   
  
@Local  
public interface HelloServiceLocal {   
    public String sayHello(String name);   
}   
  
  
  
File: HelloServiceRemote.java   
  
  
  
  
import javax.ejb.Remote;   
  
@Remote  
public interface HelloServiceRemote{   
    public String sayHello(String name);   
}   
  
  
  
File: jndi.properties   
  
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory   
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces   
java.naming.provider.url=localhost:1099  
  
  
File: Main.java   
  
import java.util.*;   
  
import javax.naming.*;   
  
  
public class Main{   
  
   public static void main(String[] a) throws Exception{   
    /* get a initial context. By default the settings in the file  
     * jndi.properties are used.  
     * You can explicitly set up properties instead of using the file.  
     *   
      
    Properties properties = new Properties();  
    properties.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");  
    properties.put("java.naming.factory.url.pkgs","=org.jboss.naming:org.jnp.interfaces");  
    properties.put("java.naming.provider.url","localhost:1099");  
     */      
        String name = "java2s";   
        HelloServiceRemote service = null;   
           
  
        //Context compEnv = (Context) new InitialContext().lookup("java:comp/env");   
           
        //service = (HelloService)new InitialContext().lookup("java:comp/env/ejb/HelloService");   
        service = (HelloServiceRemote)new InitialContext().lookup("HelloServiceBean/remote");   
        System.out.println(service.sayHello(name));   
    
   }   
  
}   
分享到:
评论

相关推荐

    JNDI配置原理详解.doc

    为了解决这一问题,可以通过显式设置环境属性来创建`InitialContext`实例: ```java Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); env....

    jndi所依赖的jar包

    将`jndi.jar`复制到`%JAVA_HOME%\jre\lib\ext`目录下,意味着将其设置为全局扩展,这样所有使用该JRE的Java应用都可以默认访问JNDI功能。 在实际应用中,JNDI常用于以下场景: - 数据源管理:通过JNDI查找数据库...

    JNDI 三种连接数据库方法

    在非Java EE环境中,或者你希望在代码中显式地查找JNDI资源,可以使用`InitialContext`类的`lookup`方法。这通常需要你提供完整的JNDI上下文路径,例如在Glassfish服务器上: ```java Properties props = new ...

    hibernate 3.1+tomcat 5.5.x(配置jndi)

    为了在Hibernate配置中使用JNDI DataSource,需要在`hibernate.cfg.xml`文件中指定相关设置: ```xml <!-- 其他配置 --> <property name="connection.provider_class">org.hibernate.connection.C3P0...

    基于Java的源码-EJB中JNDI的使用源码例子.zip

    - EJB的注入(@EJB注解):在Java EE 5及以上版本,可以使用`@EJB`注解将EJB直接注入到客户端或另一个EJB中,这样就不再需要显式使用JNDI查找。 - CDI(Contexts and Dependency Injection)与JNDI:在更现代的...

    如何完成spring的最小化XML配置

    可以同时使用`<property>`元素为特定属性进行显式装配,显式装配会覆盖自动装配。然而,当使用`constructor`自动装配时,不应混用`<constructor-arg>`元素。 二、注解装配 从Spring 2.5开始,可以通过注解来自动...

    使用embeded tomcat进行嵌入式javaee开发-启动tomcat

    在开发过程中,你可能需要添加更多的配置,如设置JNDI资源、调整日志级别、启用AJP连接器等。这些可以通过调用`Tomcat`对象的相关方法来完成。例如,添加一个JNDI资源可以这样做: ```java Context context = ...

    JSP 数据库连接池技术

    接着,在JSP页面或Servlet中,我们可以通过Java的JNDI(Java Naming and Directory Interface)查找来获取数据源: ```java Context initContext = new InitialContext(); Context envContext = (Context)...

    jsp复习资料

    - **使用JNDI**:通过Java命名和目录接口(JNDI)查找并获取DataSource对象。 2. **连接池配置**: - **配置文件**:在Tomcat的conf/context.xml中配置数据库连接池。 - **属性详解**: - `name`:指定Resource...

    JPA基本概念实例操作

    - 容器管理的实体管理器(Container-Managed EntityManager):在这种模式下,`Persistence Context`的生命周期由容器管理,当`EntityManager`被注入或通过JNDI查找时,其`Persistence Context`会在当前事务范围内...

    log4j 2.15.0-rc2 jar包

    现在,除非显式启用,否则JNDI解析器不会被加载。 2. 日志格式字符串限制:新版本对日志格式字符串的处理进行了增强,限制了可能导致安全问题的特殊字符和表达式。 3. 安全更新:除了上述直接的修复措施,Log4j ...

    CDI , JSF2.0 项目兼容性问题总结

    需要显式地在`setUserLocale`方法中设置locale,如:`context.getViewRoot().setLocale(locale)`。 以上这些问题和解决方案都是在实践中积累的经验,对于CDI+JSF2.0项目在WebSphere 8.5环境下的部署和运行至关重要...

    Spring 配置文件 和详细笔记

    - **属性文件**:使用`<context:property-placeholder location="..."/>`引入属性文件,通过`${propKey}`方式引用。 3. **自动装配** - **byName**:通过属性名自动寻找匹配的bean。 - **byType**:根据类型自动...

    Spring面试题详细讲解

    Spring Context:提供框架式的 Bean 访问方式,以及企业级功能(JNDI、定时任务等);Spring AOP:AOP 服务;Spring DAO:对 JDBC 的抽象,简化了数据访问异常的处理;Spring ORM:对现有的 ORM 框架的支持;Spring ...

    Log4j手册

    此外,Logger还支持**级别继承**,即子Logger如果没有显式设置级别,将继承父Logger的级别。 Log4j支持以下**输出级别**: - DEBUG:用于调试信息,通常包含详细的内部状态和流程。 - INFO:常规信息,用于追踪...

    JMS详细讲解

    - 客户端确认:接收者需要显式调用`acknowledge()`方法确认消息已被处理。 - 无确认:在Session的DURABLE_SUBSCRIPTION模式下,消息直到重新订阅才会被确认。 JMS通过提供这些组件和模式,使得分布式系统中的异步...

    提升JSP性能技巧

    如果JSP页面不需要使用HttpSession,可以在页面顶部加入`<%@ page session="false" %>`指令来显式禁用。 2. **避免在HttpSession中存放大数据对象:** 如果必须存储大数据对象,请考虑使用其他机制(如数据库)来...

    oracle-mysql 两阶段提交例子(ejb3)

    Context envCtx = (Context) ic.lookup("java:comp/env"); HelloSessionBeanRemote helloSessionBean = (HelloSessionBeanRemote) envCtx.lookup("HelloSessionBeanBean"); ``` 3. **Java客户端**:需要引入相关...

    Java EE 5 规范的一些重要概念

    通过标注如@Resource、@EJB和@WebServiceRef,开发者可以声明性地请求和注入所需的资源,如SessionContext、DataSource等,而不必在代码中显式创建和查找。这有助于降低组件之间的耦合,提高代码的可测试性。 Java ...

    java web连接sql server数据库的jar包

    在J2EE环境下,你可能需要配置Java的DataSource,这通常在应用服务器的配置文件(如Tomcat的context.xml或WebLogic的weblogic.xml)中完成,然后在Java代码中通过JNDI查找获取DataSource对象。 总的来说,`sqljdbc_...

Global site tag (gtag.js) - Google Analytics