使用了2个方法
1 使用配置
<bean id="remoteHelloJndiTemplate" class="org.springframework.jndi.JndiTemplate"> <property name="environment"> <props> <prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop> <prop key="java.naming.provider.url">jnp://localhost:1099</prop> <prop key="java.naming.factory.url.pkgs">org.jnp.interfaces:org.jboss.naming</prop> </props> </property> </bean> <bean id="remoteHello" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiTemplate" ref="remoteHelloJndiTemplate" /> <property name="jndiName" value="TestServiceBean/remote" /> </bean>
调用代码
System.out.println("call hello begin");
try
{
{
TestService svc = (TestService) SpringContextHolder.getBean("remoteHello");
if ( svc != null )
{
System.out.println("getBean Ok!");
System.out.println(svc.hello("abc"));
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
System.out.println("call hello end");
方法2
调用代码
try {
Hashtable<String,String> map = new Hashtable<String,String>();
map.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
map.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
map.put("java.naming.provider.url","jnp://localhost:1099");
ctx =
new javax.naming.InitialContext(map);
TestService svc = (TestService)ctx.lookup( name );
if ( svc != null )
{
System.out.println(svc.hello("TestServiceBean/remote"));
}
} catch (NamingException e) {
e.printStackTrace();
}
==
==
==