|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.remoting.support.RemoteExporter org.springframework.remoting.support.RemoteInvocationBasedExporter org.springframework.remoting.rmi.RmiBasedExporter org.springframework.remoting.rmi.JndiRmiServiceExporter
public class JndiRmiServiceExporter
Service exporter which binds RMI services to JNDI. Typically used for RMI-IIOP (CORBA).
Exports services via the PortableRemoteObject
class.
You need to run "rmic" with the "-iiop" option to generate corresponding
stubs and skeletons for each exported service.
Also supports exposing any non-RMI service via RMI invokers, to be accessed via JndiRmiClientInterceptor/JndiRmiProxyFactoryBean's automatic detection of such invokers.
With an RMI invoker, RMI communication works on the RmiInvocationHandler
level, needing only one stub for any service. Service interfaces do not have to
extend java.rmi.Remote
or throw java.rmi.RemoteException
on all methods, but in and out parameters have to be serializable.
The JNDI environment can be specified as "jndiEnvironment" bean property,
or be configured in a jndi.properties
file or as system properties.
For example:
<property name="jndiEnvironment"> <props> <prop key="java.naming.factory.initial">com.sun.jndi.cosnaming.CNCtxFactory</prop> <prop key="java.naming.provider.url">iiop://localhost:1050</prop> </props> </property>
RemoteExporter.setService(java.lang.Object)
,
setJndiTemplate(org.springframework.jndi.JndiTemplate)
,
setJndiEnvironment(java.util.Properties)
,
setJndiName(java.lang.String)
,
JndiRmiClientInterceptor
,
JndiRmiProxyFactoryBean
,
PortableRemoteObject.exportObject(java.rmi.Remote)
Field Summary |
---|
Fields inherited from class org.springframework.remoting.support.RemoteExporter |
---|
logger |
Constructor Summary | |
---|---|
JndiRmiServiceExporter()
|
Method Summary | |
---|---|
void |
afterPropertiesSet()
Register the service as RMI object. |
void |
destroy()
Unbind the RMI service from JNDI on bean factory shutdown. |
void |
setJndiEnvironment(Properties jndiEnvironment)
Set the JNDI environment to use for JNDI lookups. |
void |
setJndiName(String jndiName)
Set the JNDI name of the exported RMI service. |
void |
setJndiTemplate(JndiTemplate jndiTemplate)
Set the JNDI template to use for JNDI lookups. |
Methods inherited from class org.springframework.remoting.rmi.RmiBasedExporter |
---|
getObjectToExport, invoke |
Methods inherited from class org.springframework.remoting.support.RemoteInvocationBasedExporter |
---|
getRemoteInvocationExecutor, invokeAndCreateResult, setRemoteInvocationExecutor |
Methods inherited from class org.springframework.remoting.support.RemoteExporter |
---|
checkService, checkServiceInterface, getExporterName, getProxyForService, getService, getServiceInterface, isRegisterTraceInterceptor, setRegisterTraceInterceptor, setService, setServiceInterface |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JndiRmiServiceExporter()
Method Detail |
---|
public void setJndiTemplate(JndiTemplate jndiTemplate)
public void setJndiEnvironment(Properties jndiEnvironment)
public void setJndiName(String jndiName)
public void afterPropertiesSet() throws NamingException, RemoteException
afterPropertiesSet
in interface InitializingBean
NamingException
RemoteException
public void destroy() throws NamingException, NoSuchObjectException
destroy
in interface DisposableBean
NamingException
NoSuchObjectException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |