org.springframework.remoting.jaxws
Class AbstractJaxWsServiceExporter

java.lang.Object
  extended by org.springframework.remoting.jaxws.AbstractJaxWsServiceExporter
All Implemented Interfaces:
BeanFactoryAware, DisposableBean, InitializingBean
Direct Known Subclasses:
SimpleHttpServerJaxWsServiceExporter, SimpleJaxWsServiceExporter

public abstract class AbstractJaxWsServiceExporter
extends java.lang.Object
implements BeanFactoryAware, InitializingBean, DisposableBean

Abstract exporter for JAX-WS services, autodetecting annotated service beans (through the JAX-WS WebService annotation). Subclasses need to implement the publishEndpoint(javax.xml.ws.Endpoint, javax.jws.WebService) template method for actual endpoint exposure.

Since:
2.5.5
Author:
Juergen Hoeller
See Also:
WebService, Endpoint, SimpleJaxWsServiceExporter, SimpleHttpServerJaxWsServiceExporter

Constructor Summary
AbstractJaxWsServiceExporter()
           
 
Method Summary
 void afterPropertiesSet()
          Immediately publish all endpoints when fully configured.
 void destroy()
          Stops all published endpoints, taking the web services offline.
protected abstract  void publishEndpoint(javax.xml.ws.Endpoint endpoint, javax.jws.WebService annotation)
          Actually publish the given endpoint.
 void publishEndpoints()
          Publish all WebService annotated beans in the containing BeanFactory.
 void setBeanFactory(BeanFactory beanFactory)
          Obtains all web service beans and publishes them as JAX-WS endpoints.
 void setEndpointProperties(java.util.Map<java.lang.String,java.lang.Object> endpointProperties)
          Set the property bag for the endpoint, including properties such as "javax.xml.ws.wsdl.service" or "javax.xml.ws.wsdl.port".
 void setExecutor(java.util.concurrent.Executor executor)
          Set the JDK concurrent executor to use for dispatching incoming requests to exported service instances.
 void setTaskExecutor(TaskExecutor executor)
          Set the Spring TaskExecutor to use for dispatching incoming requests to exported service instances.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractJaxWsServiceExporter

public AbstractJaxWsServiceExporter()
Method Detail

setEndpointProperties

public void setEndpointProperties(java.util.Map<java.lang.String,java.lang.Object> endpointProperties)
Set the property bag for the endpoint, including properties such as "javax.xml.ws.wsdl.service" or "javax.xml.ws.wsdl.port".

See Also:
Endpoint.setProperties(java.util.Map), Endpoint.WSDL_SERVICE, Endpoint.WSDL_PORT

setExecutor

public void setExecutor(java.util.concurrent.Executor executor)
Set the JDK concurrent executor to use for dispatching incoming requests to exported service instances.

See Also:
Endpoint.setExecutor(java.util.concurrent.Executor)

setTaskExecutor

public void setTaskExecutor(TaskExecutor executor)
Set the Spring TaskExecutor to use for dispatching incoming requests to exported service instances.

See Also:
Endpoint.setExecutor(java.util.concurrent.Executor)

setBeanFactory

public void setBeanFactory(BeanFactory beanFactory)
Obtains all web service beans and publishes them as JAX-WS endpoints.

Specified by:
setBeanFactory in interface BeanFactoryAware
Parameters:
beanFactory - owning BeanFactory (never null). The bean can immediately call methods on the factory.
See Also:
BeanInitializationException

afterPropertiesSet

public void afterPropertiesSet()
                        throws java.lang.Exception
Immediately publish all endpoints when fully configured.

Specified by:
afterPropertiesSet in interface InitializingBean
Throws:
java.lang.Exception - in the event of misconfiguration (such as failure to set an essential property) or if initialization fails.
See Also:
publishEndpoints()

publishEndpoints

public void publishEndpoints()
Publish all WebService annotated beans in the containing BeanFactory.

See Also:
publishEndpoint(javax.xml.ws.Endpoint, javax.jws.WebService)

publishEndpoint

protected abstract void publishEndpoint(javax.xml.ws.Endpoint endpoint,
                                        javax.jws.WebService annotation)
Actually publish the given endpoint. To be implemented by subclasses.

Parameters:
endpoint - the JAX-WS Endpoint object
annotation - the service bean's WebService annotation

destroy

public void destroy()
Stops all published endpoints, taking the web services offline.

Specified by:
destroy in interface DisposableBean