Perhaps add a new service to deployers/ boot phase, which is not controlled via HDScanner,
which would then pick up your deployments and feed them directly to MainDeployer.
Thanks for your reply. Could you please give more detail about it?
I tried to add a deployer instance in profile.xml as following:
<bean name="newProfileServiceDeployer" class="org.jboss.system.server.profileservice.repository.MainDeployerAdapter">
<property name="mainDeployer"><inject bean="StructuralDeployers" /></property>
<property name="attachmentStore"><inject bean="AttachmentStore" /></property>
and tried to assign it to the HDScanner:
<!-- Hotdeployment of applications -->
<bean name="HDScanner" class="org.jboss.system.server.profileservice.hotdeploy.HDScanner">
<property name="deployer"><inject bean="newProfileServiceDeployer"/></property>
<property name="profileService"><inject bean="ProfileService"/></property>
I wanted to make the HDScanner just deploy the xml files via the StructuralDeployers, but it did NOT work.
What about if you modify the HDScanner to only do the full pass once,
and then the filter would kick in; this way you could still deploy your .ear,
whereas further hot-deploy would only pick-up -ds.xml changes.
Do you mean hacking the HDScanner?
I thought to do this, but I didn't try it.
I can try to do this, could you please give more hints about how to hack the HDScanner?!
I found another way to hot deploy a xx-ds.xml without the HDScanner:
using the following script to call the JMX 'service=MainDeployer' of JBOSS:
D:\java\jboss-5.1.0.GA\bin\twiddle.bat -q -s localhost invoke "jboss.system:service=MainDeployer" deploy "file:///D:\java\jboss-5.1.0.GA\server\default\deploy\mine-ds.xml"
But it is not good enough because of the deployed datasource NOT listed in 'Local Tx Datasources'(JBOSS Administration Console/Resources/Datasources/Local Tx Datasources).
If it is deployed by HDScanner, the DS can be listed. Don't know why.