Author: richard.opalka(a)jboss.com
Date: 2008-05-19 07:52:33 -0400 (Mon, 19 May 2008)
New Revision: 7093
Modified:
container/jboss50/branches/jbossws-jboss500/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
Log:
rollback wrong commit - svn merge -r 7091:7090 .
Modified:
container/jboss50/branches/jbossws-jboss500/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
===================================================================
---
container/jboss50/branches/jbossws-jboss500/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml 2008-05-19
11:19:20 UTC (rev 7092)
+++
container/jboss50/branches/jbossws-jboss500/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml 2008-05-19
11:52:33 UTC (rev 7093)
@@ -4,252 +4,168 @@
xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_2_0.xsd"
xmlns="urn:jboss:bean-deployer:2.0">
- <!-- Locate the single instance of the kernel -->
- <bean name="WSKernelLocator"
class="org.jboss.wsf.spi.util.KernelLocator">
- <property name="kernel"><inject
bean="jboss.kernel:service=Kernel"/></property>
- </bean>
-
- <!-- Locate the single instance of the MBeanServer -->
- <bean name="WSMBeanServerLocator"
class="org.jboss.wsf.framework.management.MBeanServerLocator">
- <property name="mbeanServer"><inject bean="JMXKernel"
property="mbeanServer"/></property>
- </bean>
-
- <!-- The HTTPServer used by the JAXWS Endpoint API -->
- <bean name="WSHTTPServer"
class="org.jboss.wsf.container.jboss50.transport.WSFRuntimeDelegateHttpServer"/>
-
<!--
*********************************************************************************************************************
- Main WSFRuntimes.
- -->
+ Web Service deployment
- <bean name="WebserviceJSERuntime"
class="org.jboss.wsf.container.jboss50.BareWSFRuntime">
- <property name="runtimeName">WebserviceJSERuntime</property>
- <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
- <property name="endpointRegistry"><inject
bean="WSEndpointRegistry"/></property>
- <property name="transportManagerFactory"><inject
bean="JSETransportManagerFactory"/></property>
- <property name="invocationHandlerFactory"><inject
bean="InvocationHandlerFactory"/></property>
- <property name="requestHandlerFactory"><inject
bean="StackRequestHandlerFactory"/></property>
- </bean>
+ There are two deployers registered with the JBoss Main Deployer.
+ The order of which is important
- <bean name="WebserviceEJBRuntime"
class="org.jboss.wsf.container.jboss50.BareWSFRuntime">
- <property name="runtimeName">WebserviceEJBRuntime</property>
- <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerEJB"/></property>
- <property name="endpointRegistry"><inject
bean="WSEndpointRegistry"/></property>
- <property name="transportManagerFactory"><inject
bean="EJBTransportManagerFactory"/></property>
- <property name="invocationHandlerFactory"><inject
bean="InvocationHandlerFactory"/></property>
- <property name="requestHandlerFactory"><inject
bean="StackRequestHandlerFactory"/></property>
- </bean>
+ 1) EJBDeployer < WebServiceDeployerEJB
+ 2) WebServiceDeployerPreJSE < WarDeployer
+ 3) WarDeployer < WebServiceDeployerPostJSE
- <bean name="EndpointAPIRuntime"
class="org.jboss.wsf.container.jboss50.BareWSFRuntime">
- <property name="runtimeName">EndpointAPIRuntime</property>
- <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerEndpointAPI"/></property>
- <property name="endpointRegistry"><inject
bean="WSEndpointRegistry"/></property>
- <property name="transportManagerFactory"><inject
bean="EndpointAPITransportManagerFactory"/></property>
- <property name="invocationHandlerFactory"><inject
bean="InvocationHandlerFactory"/></property>
- <property name="requestHandlerFactory"><inject
bean="StackRequestHandlerFactory"/></property>
- </bean>
+ Each WebServiceDeployer has a number of DeployerHooks registered with it
- <!--
-
*********************************************************************************************************************
- WSFRuntimes Components
- -->
+ - WebServiceDeployerEJB
+ - WSDeployerHook_JAXRPC_EJB21
+ - WSDeployerHook_JAXWS_EJB3
- <!-- The registry for web service endpoints -->
- <bean name="WSEndpointRegistry"
class="org.jboss.wsf.framework.management.ManagedEndpointRegistry">
- <property name="mbeanServer"><inject
bean="WSMBeanServerLocator"
property="mbeanServer"/></property>
- </bean>
+ - WebServiceDeployerPreJSE
+ - WSDeployerHook_JAXRPC_JSE
+ - WSDeployerHook_JAXWS_JSE
- <!-- JSE transport -->
- <bean name="JSETransportManagerFactory"
class="org.jboss.wsf.container.jboss50.transport.BareTransportManagerFactory">
- <property name="httpTransport"><inject
bean="JSEHttpTransport"/></property>
- </bean>
+ Conceptually, each of these hooks implements the following pattern:
- <!-- EJB transport -->
- <bean name="EJBTransportManagerFactory"
class="org.jboss.wsf.container.jboss50.transport.BareTransportManagerFactory">
- <property name="httpTransport"><inject
bean="EJBHttpTransport"/></property>
- </bean>
+ DeployerHook.deploy(unit)
+ if(isWebServiceDeployment)
+ Deployment dep = createDeployment(unit)
+ DeploymentAspectManager.deploy(dep)
- <!-- Endpoint API transport -->
- <bean name="EndpointAPITransportManagerFactory"
class="org.jboss.wsf.container.jboss50.transport.BareTransportManagerFactory">
- <property name="httpTransport"><inject
bean="EndpointAPIHttpTransport"/></property>
- </bean>
+ DeployerHook.undeploy(unit)
+ Deployment dep = getDeployment(unit)
+ DeploymentAspectManager.undeploy(dep)
- <bean name="JSEHttpTransport"
class="org.jboss.wsf.container.jboss50.transport.NoopHttpTransportManager"/>
+ Each deployer hook has a web service DeploymentAspectManager injected into it.
+ A web service DeploymentAspectManager maintains a list of DeploymentAspects, each of
which
+ handles a single aspect of web service deployment.
- <bean name="EJBHttpTransport"
class="org.jboss.wsf.container.jboss50.transport.EJBHttpTransportManager">
- <property name="generator"><inject
bean="WSWebAppGenerator"/></property>
- <property name="deploymentFactory"><inject
bean="WSWebAppDeploymentFactory"/></property>
- </bean>
+ Finally, each Endpoint is registered with the EndpointRegistry.
- <bean name="EndpointAPIHttpTransport"
class="org.jboss.wsf.container.jboss50.transport.EndpointAPIHttpTransportManager">
- <property name="generator"><inject
bean="WSWebAppGenerator"/></property>
- <property name="mainDeployer"><inject
bean="MainDeployer"/></property>
- <property name="webMetaDataModifier"><inject
bean="WSWebMetaDataModifier"/></property>
- </bean>
+
*********************************************************************************************************************
+ -->
- <!-- Dynamically creates web apps in memory -->
- <bean name="WSWebAppGenerator"
class="org.jboss.wsf.container.jboss50.transport.WebAppGenerator">
- <property name="securityHandlerEJB21"><inject
bean="WSSecurityHandlerEJB21"/></property>
- <property name="securityHandlerEJB3"><inject
bean="WSSecurityHandlerEJB3"/></property>
+ <!--
+ A web service deployer that hooks in after the EJB deployers
+ -->
+ <bean name="WebServiceDeployerEJB"
class="org.jboss.wsf.container.jboss50.deployer.WebServiceDeployerEJB">
+ <property name="relOrderEJB2x"><inject
bean="EJB2xDeployer" property="relativeOrder"/></property>
+ <property name="relOrderEJB3"><inject
bean="Ejb3Deployer" property="relativeOrder"/></property>
+ <depends>EJB2xDeployer</depends>
+ <depends>Ejb3Deployer</depends>
</bean>
- <!-- Attaches a web meta data to the deployment unit -->
- <bean name="WSWebAppDeploymentFactory"
class="org.jboss.wsf.container.jboss50.transport.WebAppDeploymentFactory">
- <property name="webMetaDataModifier"><inject
bean="WSWebMetaDataModifier"/></property>
+ <!--
+ A web service deployer that hooks in before the WAR deployer
+ -->
+ <bean name="WebServiceDeployerPreJSE"
class="org.jboss.wsf.container.jboss50.deployer.WebServiceDeployerPreJSE">
+ <property name="relOrderWar"><inject
bean="WarDeployer" property="relativeOrder"/></property>
+ <depends>WebAppParsingDeployer</depends>
</bean>
-
- <!-- invcocation handling -->
- <bean name="InvocationHandlerFactory"
class="org.jboss.wsf.container.jboss50.invocation.InvocationHandlerFactoryImpl"/>
<!--
-
*********************************************************************************************************************
- Each DeploymentAspectManger maintains a list of DeploymentAspects which are installed
by an AspectInstaller
+ A web service deployer that hooks in after the WAR deployer
+ This deployer depends on the RuntimeClassloader being available.
-->
-
- <bean name="WSDeploymentAspectManagerJSE"
class="org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl">
- <property
name="name">WSDeploymentAspectManagerJSE</property>
+ <bean name="WebServiceDeployerPostJSE"
class="org.jboss.wsf.container.jboss50.deployer.WebServiceDeployerPostJSE">
+ <property name="relOrderWar"><inject
bean="WarDeployer" property="relativeOrder"/></property>
+ <depends>WebAppParsingDeployer</depends>
</bean>
- <bean name="WSDeploymentAspectManagerEJB"
class="org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl">
- <property
name="name">WSDeploymentAspectManagerEJB</property>
- </bean>
- <bean name="WSDeploymentAspectManagerEndpointAPI"
class="org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl">
- <property
name="name">WSDeploymentAspectManagerEndpointAPI</property>
- </bean>
-
<!--
-
*********************************************************************************************************************
- The container deployment aspects
+ Register DeployerHooks with JBoss deployers
-->
- <bean name="WSContainerMetaDataDeploymentAspect"
class="org.jboss.wsf.container.jboss50.deployment.metadata.ContainerMetaDataDeploymentAspect">
- <property name="provides">ContainerMetaData,
VFSRoot</property>
+ <!-- Phase 1 of JSE JAX-RPC -->
+ <bean name="WSDeployerHook_JAXRPC_PRE_JSE"
class="org.jboss.wsf.container.jboss50.deployer.JAXRPCDeployerHookPreJSE">
+ <property name="runtimeName">WebserviceJSERuntime</property>
+ <install bean="WebServiceDeployerPreJSE"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerPreJSE"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerPreJSE</depends>
</bean>
-
- <bean name="WSContextRootDeploymentAspect"
class="org.jboss.wsf.framework.deployment.BackwardCompatibleContextRootDeploymentAspect">
- <property name="requires">ContainerMetaData</property>
- <property name="provides">ContextRoot</property>
+ <!-- Phase 2 of JSE JAX-RPC -->
+ <bean name="WSDeployerHook_JAXRPC_POST_JSE"
class="org.jboss.wsf.container.jboss50.deployer.JAXRPCDeployerHookPostJSE">
+ <property name="runtimeName">WebserviceJSERuntime</property>
+ <install bean="WebServiceDeployerPostJSE"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerPostJSE"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerPostJSE</depends>
</bean>
-
- <bean name="WSHttpTransportDeploymentAspect"
class="org.jboss.wsf.framework.deployment.HttpTransportDeploymentAspect">
- <property
name="requires">URLPattern,ContextProperties</property>
- <property name="provides">EndpointAddress</property>
- </bean>
- <bean name="WSEndpointAPIDeploymentAspect"
class="org.jboss.wsf.framework.deployment.EndpointAPIDeploymentAspect">
- <property name="provides">ContainerMetaData, RuntimeLoader,
URLPattern, VFSRoot</property>
+ <bean name="WSDeployerHook_JAXRPC_EJB21"
class="org.jboss.wsf.container.jboss50.deployer.JAXRPCDeployerHookEJB21">
+ <property name="runtimeName">WebserviceEJBRuntime</property>
+ <install bean="WebServiceDeployerEJB"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerEJB"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerEJB</depends>
</bean>
- <bean name="WSEndpointHandlerDeploymentAspect"
class="org.jboss.wsf.framework.deployment.EndpointHandlerDeploymentAspect">
- <property name="requires">ContainerMetaData</property>
- <property
name="provides">ContainerEndpointHandler</property>
+ <!-- Phase 1 of JSE JAX-WS-->
+ <bean name="WSDeployerHook_JAXWS_PRE_JSE"
class="org.jboss.wsf.container.jboss50.deployer.JAXWSDeployerHookPreJSE">
+ <property name="runtimeName">WebserviceJSERuntime</property>
+ <install bean="WebServiceDeployerPreJSE"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerPreJSE"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerPreJSE</depends>
</bean>
-
- <bean name="WSEndpointLifecycleDeploymentAspect"
class="org.jboss.wsf.framework.deployment.EndpointLifecycleDeploymentAspect">
- <property name="requires">LAST_DEPLOYMENT_ASPECT</property>
+ <!-- Phase 2 of JSE JAX-WS -->
+ <bean name="WSDeployerHook_JAXWS_POST_JSE"
class="org.jboss.wsf.container.jboss50.deployer.JAXWSDeployerHookPostJSE">
+ <property name="runtimeName">WebserviceJSERuntime</property>
+ <install bean="WebServiceDeployerPostJSE"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerPostJSE"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerPostJSE</depends>
</bean>
- <bean name="WSEndpointMetricsDeploymentAspect"
class="org.jboss.wsf.framework.deployment.EndpointMetricsDeploymentAspect">
- <property name="provides">EndpointMetrics</property>
+ <bean name="WSDeployerHook_JAXWS_EJB3"
class="org.jboss.wsf.container.jboss50.deployer.JAXWSDeployerHookEJB3">
+ <property name="runtimeName">WebserviceEJBRuntime</property>
+ <install bean="WebServiceDeployerEJB"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerEJB"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerEJB</depends>
</bean>
- <bean name="WSEndpointNameDeploymentAspect"
class="org.jboss.wsf.framework.deployment.EndpointNameDeploymentAspect">
- <property name="requires">URLPattern</property>
- <property name="provides">EndpointName</property>
- </bean>
-
- <bean name="WSEndpointRegistryDeploymentAspect"
class="org.jboss.wsf.framework.deployment.EndpointRegistryDeploymentAspect">
- <property name="requires">EndpointName</property>
- <property name="provides">RegisteredEndpoint</property>
- <depends>WSEndpointRegistry</depends>
- </bean>
-
- <bean name="WSModifyWebMetaDataDeploymentAspect"
class="org.jboss.wsf.container.jboss50.deployment.tomcat.ModifyWebMetaDataDeploymentAspect">
- <property name="requires">ContextProperties,
StackDescriptor</property>
- <property name="webMetaDataModifier"><inject
bean="WSWebMetaDataModifier"/></property>
- </bean>
-
- <bean name="WSRuntimeLoaderDeploymentAspect"
class="org.jboss.wsf.container.jboss50.deployment.RuntimeLoaderDeploymentAspect">
- <property name="requires">ContainerMetaData</property>
- <property name="provides">RuntimeLoader</property>
- </bean>
-
- <bean name="WSURLPatternDeploymentAspect"
class="org.jboss.wsf.framework.deployment.BackwardCompatibleURLPatternDeploymentAspect">
- <property name="requires">ContextRoot,
ContainerMetaData</property>
- <property name="provides">URLPattern</property>
- </bean>
-
- <!--
-
*********************************************************************************************************************
- Deployment aspect helper beans
- -->
- <bean name="WSSecurityHandlerEJB21"
class="org.jboss.wsf.container.jboss50.deployment.tomcat.SecurityHandlerEJB21"/>
- <bean name="WSSecurityHandlerEJB3"
class="org.jboss.wsf.container.jboss50.deployment.tomcat.SecurityHandlerEJB3"/>
- <bean name="WSWebMetaDataModifier"
class="org.jboss.wsf.container.jboss50.deployment.tomcat.WebMetaDataModifierImpl"/>
-
- <!--
-
*********************************************************************************************************************
- Deployment aspect installers
- -->
-
- <bean name="WSDeploymentAspectInstallerJSE"
class="org.jboss.wsf.framework.deployment.DeploymentAspectInstaller">
- <property name="manager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
- <property name="sortAspectsOnCreate">false</property>
- <property name="aspects">
- <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
-
- <!-- phase 1 -->
- <inject bean="WSContainerMetaDataDeploymentAspect"/>
- <inject bean="WSContextRootDeploymentAspect"/>
- <inject bean="WSHttpTransportDeploymentAspect"/>
- <inject bean="WSEndpointHandlerDeploymentAspect"/>
- <inject bean="WSEndpointMetricsDeploymentAspect"/>
- <inject bean="WSEndpointNameDeploymentAspect"/>
- <inject bean="WSEndpointRegistryDeploymentAspect"/>
- <inject bean="WSModifyWebMetaDataDeploymentAspect"/>
- <inject bean="WSURLPatternDeploymentAspect"/>
-
- <!-- phase 2 -->
- <inject bean="WSEndpointLifecycleDeploymentAspect"/>
- <inject bean="WSRuntimeLoaderDeploymentAspect"/>
- </set>
- </property>
- </bean>
-
- <bean name="WSDeploymentAspectInstallerEJB"
class="org.jboss.wsf.framework.deployment.DeploymentAspectInstaller">
- <property name="manager"><inject
bean="WSDeploymentAspectManagerEJB"/></property>
- <property name="sortAspectsOnCreate">false</property>
- <property name="aspects">
- <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
- <inject bean="WSContainerMetaDataDeploymentAspect"/>
- <inject bean="WSContextRootDeploymentAspect"/>
- <inject bean="WSHttpTransportDeploymentAspect"/>
- <inject bean="WSEndpointHandlerDeploymentAspect"/>
- <inject bean="WSEndpointLifecycleDeploymentAspect"/>
- <inject bean="WSEndpointMetricsDeploymentAspect"/>
- <inject bean="WSEndpointNameDeploymentAspect"/>
- <inject bean="WSEndpointRegistryDeploymentAspect"/>
- <inject bean="WSURLPatternDeploymentAspect"/>
-
- <inject bean="WSRuntimeLoaderDeploymentAspect"/>
- </set>
- </property>
- </bean>
-
- <bean name="WSDeploymentAspectInstallerEndpointAPI"
class="org.jboss.wsf.framework.deployment.DeploymentAspectInstaller">
- <property name="manager"><inject
bean="WSDeploymentAspectManagerEndpointAPI"/></property>
- <property name="sortAspectsOnCreate">false</property>
- <property name="aspects">
- <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
- <inject bean="WSEndpointAPIDeploymentAspect"/>
- <inject bean="WSHttpTransportDeploymentAspect"/>
- <inject bean="WSEndpointHandlerDeploymentAspect"/>
- <inject bean="WSEndpointLifecycleDeploymentAspect"/>
- <inject bean="WSEndpointMetricsDeploymentAspect"/>
- <inject bean="WSEndpointNameDeploymentAspect"/>
- <inject bean="WSEndpointRegistryDeploymentAspect"/>
- </set>
- </property>
- </bean>
-
</deployment>