[jboss-dev-forums] [Design of POJO Server] - Re: Remove Resource - removes entire deployment, the whole f

scott.stark@jboss.org do-not-reply at jboss.com
Thu Apr 26 18:49:42 EDT 2007


Only the current profileservice module use of these classes:

org.jboss.profileservice.management.templates.DsXmlDataSourceTemplate 
org.jboss.profileservice.management.builders.ConnectionFactoryDeployerManagedObjectBuilder
org.jboss.profileservice.management.builders.DomDataSourceManagedObject

and registration of these in the profileservice-beans.xml is all that exists in the current prototype. Once I get the DeploymentRepository updated I'll start documenting the management requirements for deployers. Essentially the DataSource deployer needs to take ownership of the ConnectionFactoryDeployerManagedObjectBuilder by having the deployer implement the org.jboss.deployers.spi.managed.ManagedObjectBuilder interface so that the ManagedObject for a DeploymentUnit can be obtained.


  | <?xml version="1.0" encoding="UTF-8"?>
  | 
  | <!--
  |     ProfileService beans that extend the bootstrap configuration. This
  |     includes:
  |     Remote access to ProfileService interfaces
  |     ManagementView plugin + DeploymentTemplates
  |     ...
  |     $Id: profileservice-beans.xml 62170 2007-04-06 19:42:23Z scott.stark at jboss.org $
  | -->
  | <deployment xmlns="urn:jboss:bean-deployer:2.0">
  |     <bean name="ConnectorMBean">
  |         <constructor factoryClass="org.jboss.mx.util.MBeanTyper" factoryMethod="typeMBean">
  |             <parameter><inject bean="JMXKernel" property="mbeanServer"/></parameter>
  |             <parameter>jboss.remoting:service=Connector,transport=socket</parameter>
  |             <parameter>org.jboss.remoting.transport.ConnectorMBean</parameter>
  |         </constructor>
  |         <depends>jboss.remoting:service=Connector,transport=socket</depends>
  |     </bean>
  |     <!--
  |         Add a ProfileService handler to the remoting socket connector
  |     -->
  |     <bean name="ProfileServiceInvocationHandler"
  |         class="org.jboss.profileservice.remoting.ProfileServiceInvocationHandler">
  |         <install bean="ConnectorMBean" method="addInvocationHandler">
  |             <parameter>ProfileService</parameter>
  |             <parameter><this/></parameter>
  |         </install>
  |         <uninstall bean="ConnectorMBean" method="removeInvocationHandler">
  |             <parameter>ProfileService</parameter>
  |         </uninstall>
  |         <property name="managementViewProxy"><inject bean="ProfileServiceProxyFactory" property="managementViewProxy"/></property>
  |     </bean>
  |     
  |     <!-- The ManagementView plugin -->
  |     <bean name="ManagementView" class="org.jboss.profileservice.management.ManagementViewImpl">
  |         <install bean="ProfileService" method="setViewManager">
  |             <parameter>
  |                 <this/>
  |             </parameter>
  |         </install>
  |         <uninstall bean="ProfileService" method="setViewManager">
  |             <parameter>
  |                 <null/>
  |             </parameter>
  |         </uninstall>
  |         <property name="mainDeployer"><inject bean="MainDeployer"/></property>
  |         <property name="profileService"><inject bean="ProfileService"/></property>
  |         <property name="compVisitor"><inject bean="ComponentTypeOverridesVisitor"/></property>
  |         <property name="serializer"><inject bean="JavaSerializationAttachmentsSerializer"/></property>
  |     </bean>
  |     
  |     <!-- ConnectionFactory Deployment -->
  |     <bean name="FakeDataSourceDeployer"
  |         class="org.jboss.profileservice.mock.ds.FakeDataSourceDeployer">
  |         <install bean="MainDeployer" method="addDeployer">
  |             <parameter><this/></parameter>
  |         </install>
  |         <uninstall bean="MainDeployer" method="removeDeployer">
  |             <parameter><this/></parameter>
  |         </uninstall>
  |         <property name="type">jca-ds</property>
  |         <property name="propertyNameMappings">
  |             <inject bean="DsPropertyMappings" />
  |         </property>
  |     </bean>
  |     
  |     <!-- DeploymentTemplates -->
  |     <bean name="DsXmlDataSourceTemplate"
  |         class="org.jboss.profileservice.management.templates.DsXmlDataSourceTemplate">
  |         <install bean="ManagementView" method="addTemplate">
  |             <parameter>
  |                 <this/>
  |             </parameter>
  |         </install>
  |         <uninstall bean="ManagementView" method="removeTemplate">
  |             <parameter>
  |                 <this/>
  |             </parameter>
  |         </uninstall>
  |         <property name="info"><inject bean="DsXmlDataSourceTemplateInfo"/></property>
  |     </bean>
  |     <bean name="FakeDsXmlDataSourceTemplate"
  |         class="org.jboss.profileservice.management.templates.FakeDsXmlDataSourceTemplate">
  |         <install bean="ManagementView" method="addTemplate">
  |             <parameter>
  |                 <this/>
  |             </parameter>
  |         </install>
  |         <uninstall bean="ManagementView" method="removeTemplate">
  |             <parameter>
  |                 <this/>
  |             </parameter>
  |         </uninstall>
  |         <property name="info"><inject bean="FakeDsXmlDataSourceTemplateInfo"/></property>
  |         <property name="deployer"><inject bean="FakeDataSourceDeployer" /></property>
  |     </bean>
  |     
  |     <bean name="FakeDsXmlDataSourceTemplateInfo"
  |         class="org.jboss.profileservice.management.templates.DsXmlDataSourceTemplateInfo">
  |         <constructor>
  |             <parameter>FakeDsXmlDataSourceTemplate</parameter>
  |             <parameter>A template for *-dsf.xml deployments</parameter>
  |             <parameter>org.jboss.system.metadata.ServiceMetaData</parameter>
  |             <parameter>FakeConnectionFactoryDeployer.datasource-type</parameter>
  |         </constructor>
  |         <!-- Specify a mapping from service attribute names used by the datasource
  |             deployment ServiceMetaData to ManagedProperty names. 
  |         -->
  |         <property name="propertyNameMappings">
  |             <inject bean="DsPropertyMappings" />
  |         </property>
  |     </bean>
  |     <bean name="DsXmlDataSourceTemplateInfo"
  |         class="org.jboss.profileservice.management.templates.DsXmlDataSourceTemplateInfo">
  |         <constructor>
  |             <parameter>DsXmlDataSourceTemplate</parameter>
  |             <parameter>A template for *-ds.xml deployments</parameter>
  |             <parameter>org.w3c.dom.Document</parameter>
  |         </constructor>
  |         <!-- Specify a mapping from service attribute names used by the datasource
  |             deployment ServiceMetaData to ManagedProperty names. 
  |         -->
  |         <property name="propertyNameMappings">
  |             <inject bean="DsPropertyMappings" />
  |         </property>
  |     </bean>
  |     <bean name="DsPropertyMappings" class="java.util.HashMap">
  |         <constructor>
  |             <map class="java.util.HashMap" keyClass="java.lang.String" valueClass="java.lang.String">
  |                 <entry><key>jndi-name</key><value>JndiName</value></entry>
  |                 <entry><key>connection-url</key><value>JdbcURL</value></entry>
  |                 <entry><key>user-name</key><value>Username</value></entry>
  |                 <entry><key>password</key><value>Password</value></entry>
  |                 <entry><key>driver-class</key><value>DriverClass</value></entry>
  |                 <entry><key>min-pool-size</key><value>MinPoolSize</value></entry>
  |                 <entry><key>max-pool-size</key><value>MaxPoolSize</value></entry>
  |                 <entry><key>security-domain</key><value>SecurityDomain</value></entry>
  |             </map>
  |         </constructor>
  |     </bean>
  |     
  |     <!-- Override the ConnectionFactoryDeployer ManagedObjectBuilder -->
  |     <bean name="ConnectionFactoryDeployerManagedObjectBuilder"
  |         class="org.jboss.profileservice.management.builders.ConnectionFactoryDeployerManagedObjectBuilder">
  |         <install bean="MainDeployer" method="setDeployerManagedObjectBuilder">
  |             <parameter>
  |                 <inject bean="ConnectionFactoryDeployer" />
  |             </parameter>
  |             <parameter>
  |                 <this/>
  |             </parameter>
  |         </install>
  |     </bean>
  |     
  |     <bean name="ProfileServiceProxyFactory" class="org.jboss.profileservice.remoting.ProxyFactory">
  |         <property name="dispatchName">ProfileService</property>
  |         <property name="jndiName">ProfileService</property>
  |         <property name="locator"><inject bean="ConnectorMBean" property="invokerLocator"/></property>
  |         <property name="profileService"><inject bean="ProfileService"/></property>
  |         <property name="viewManager"><inject bean="ManagementView"/></property>
  |         <depends>ConnectorMBean</depends>
  |     </bean>
  |     
  |     <bean name="ComponentTypeOverridesVisitor"
  |         class="org.jboss.profileservice.management.ComponentTypeOverridesVisitor">
  |     </bean>
  | 
  |     <!-- Hotdeployment of applications -->
  |     <bean name="HDScanner"
  |         class="org.jboss.system.server.profileservice.hotdeploy.HDScanner">
  |         <property name="mainDeployer"><inject bean="MainDeployer"/></property>
  |         <!-- Workaround for JBMICROCONT-176
  |         -->
  |         <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
  |         <!-- Broken due to JBMICROCONT-176
  |             <property name="controller"><inject bean="jboss.kernel:service=Kernel" property="controller"/></property>
  |         -->
  |         
  |         <property name="profileService"><inject bean="ProfileService"/></property>
  |         <property name="scanPeriod">5000</property>
  |         <property name="scanThreadName">HDScanner</property>
  |     </bean>
  | </deployment>
  | 


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4041224#4041224

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4041224



More information about the jboss-dev-forums mailing list