I'm developing a binding component, so this is the point of view of a third party binding component developer. I'm having problems with the 3.0-incubanting version in particular in the packaging/deploying phase. After changing my dependencies from servicemix-common to servicemix-shared, here's what happens: 1. I still have to depend on servicemix-core because BaseLifeCycle indirectly depends on MessageExchangeListener which is in servicemix-core 2. I have to depends on servicemix-jsr181 (see sm-602) 3. servicemix-jsr181 and servicemix-shared don't get bundled in the install package. servicemix-common instead does, this may be wanted but it should be better explained. I didn't find new documentation on the plugin 4. If try to deploy with the plugin I get an error here's the log [INFO] [jbi:projectDeploy] [INFO] ------------------ Deployment Analysis -------------------- [INFO] Jbi4Cics Binding Component has 2 child dependencies [INFO] - jbi-component : /home/raffaele/java/maven-2.0.2/local/it/imolinfo/jbi4cics/jbi4cics/0.1-SNAPSHOT/jbi4cics-0.1-SNAPSHOT-installer.zip [INFO] - jbi-component : /home/raffaele/java/maven-2.0.2/local/org/apache/servicemix/servicemix-jsr181/3.0-incubating/servicemix-jsr181-3.0-incubating-installer.zip [INFO] - jbi-shared-library : /home/raffaele/java/maven-2.0.2/local/org/apache/servicemix/servicemix-shared/3.0-incubating/servicemix-shared-3.0-incubating-installer.zip [INFO] ----------------------------------------------------------- [INFO] jbi4cics is not deployed [INFO] servicemix-jsr181 is not deployed [INFO] servicemix-shared is deployed [INFO] Stopping servicemix-shared [INFO] Undeploying /home/raffaele/java/maven-2.0.2/local/org/apache/servicemix/servicemix-shared/3.0-incubating/servicemix-shared-3.0-incubating-installer.zip [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Unable to deploy project, Error accessing ServiceMix administration
<?xml version="1.0" encoding="UTF-8"?> <jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message" version="1.0"> <jbi-task-result> <frmwk-task-result> <frmwk-task-result-details> <task-result-details> <task-id>uninstallSharedLibrary</task-id> <task-result>FAILED</task-result> <message-type>ERROR</message-type> <task-status-msg> <msg-loc-info> <loc-token/> <loc-message>Shared library 'servicemix-shared' is used by component 'servicemix-http'.</loc-message> </msg-loc-info> </task-status-msg> </task-result-details> </frmwk-task-result-details> </frmwk-task-result> </jbi-task-result> </jbi-task> It says that servicemix-shared is not deployed but it is. I has been deployed manually. It seems to decide that It shouldn't deploy my component, that may be ok with the new behaviour but it should be explained, it than try to undeploy servicemix-shared (which wasn't detected at first). Why it does like this I don't undestand: I have other configuration on servicemix. 5. If I manually deploy my component I get a ClassNotFound because servicemix-jsr181 has not been boundled in the install package. The bottom line is that I'm pretty stuck. Also the plugin seems to have changed its objectives. I thought it was a general jbi maven plug-in usable with any jbi container through jmx standard and with any components. Now I don't understand the new logic but is not as usable as before for a third party component developer. Please let discuss these points I need to understand if this new behaviour is really wanted and how I should change my working habits. thanks Raffaele
