Kategorien |
Mittwoch, 22. Oktober 2008JBoss mit Spring Deployer nachrüsten
Um EJB3 und Spring Komponenten gemeinsam zu verwenden, und ggf. gegenseitig auf sich zugreifen zu lassen, müssen diese auf einem Server gemeinsam installiert (deploy-t) werden. Da es keinen Sinn macht, für jede Spring Anwendung die kompletten Bibliotheken zu hinterlegen (und damit mehrfach auf dem Server), haben Ales Justin [1] und mittlerweile 78 weitere Entwickler einen JBoss-Spring-Deployer [2] gebaut.
Um diesen zu verwenden, muss man sich zunächst den JBoss Application Server installieren. Dazu läd man von [3] den aktuellen JBoss 5.0.0.CR2 herunter und entpackt diesen. Den JBoss-Spring-Deployer kann man in der aktuellen Version 3.1 von [2] (jboss-spring-3.1.deployer) beziehen. Die Datei muss lediglich im Verzeichnis jboss-5.0.0.CR2/server/default/deployers hinterlegt werden. So weit so gut: Prinzipiell könnte man jetzt die erste Spring-Anwendung deploy-en. Spring-Archive können als normale JAR-Datei gepackt werden. Der JBoss-Spring-Deployer sucht nach Spring-Konfigurationsdateien nach dem Muster *-spring.xml. Es empfiehlt sich eine solche Datei im Verzeichnis META-INF der Anwendung zu hinterlegen. Findet der Deployer eine solche Datei, werden die darin definierten Beans in einem Spring-Kontext geladen. ABER (was mich mal wieder einen Nachmittag gekostet hat): Beim JBoss 5 CR2 hat sich eine Schnittstelle [4] geändert, sodaß man noch eine Anpassung machen muss, bevor der Deployer [5] funktioniert. Man muss zunächst mit einem Packprogramm die Datei jboss-spring-3.1.deployer entpacken und die Datei META-INF/spring-deployers-beans.xml zu META-INF/spring-deployers-jboss-beans.xml umbenennen. Fertig. Bleibt nur noch zu klären, ob es Wechselwirkungen mit dem Cocoon-Spring-Configurator [6] gibt... [1] http://java.sys-con.com/node/180386 [2] http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=161914 [3] http://www.jboss.org/jbossas/downloads/ [4] https://jira.jboss.org/jira/browse/JBAS-5803 [5] http://www.jboss.com/index.html?module=bb&op=viewtopic&t=143666 [6] http://cocoon.apache.org/subprojects/configuration/1.0/spring-configurator/2.0/1304_1_1.html Trackbacks
Trackback-URL für diesen Eintrag
Keine Trackbacks
Kommentare
Ansicht der Kommentare:
(Linear | Verschachtelt)
hallo
ich habe eine spring Anwendung die Fehlerfrei unter TomCate läuft ,und zum test zwecken wollte ich die Spring-Anwendung mit jboss-5.0.0.GA deploy-en aber leider klappt bis jetzt nicht . ich bekomme solche meldungen : 16:59:28,328 ERROR [AbstractKernelController] Error installing to Parse: name=vfszip:/C:/AdminTool/jboss-5.0.0.GA/server/default/tmp/jsr88/FTest.war state=Not Installed mode=Manual requiredState=Parse org.jboss.deployers.spi.DeploymentException: Error creating managed object for vfszip:/C:/AdminTool/jboss-5.0.0.GA/server/default/tmp/jsr88/FTest.war at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49) at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:337) at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:297) at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:269) at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.deploy(AbstractParsingDeployerWithOutput.java:230) at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171) at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157) at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553) at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781) at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:545) at org.jboss.deployment.services.DeploymentManagerService.deploy_phase2(DeploymentManagerService.java:412) at org.jboss.deployment.services.DeploymentManagerService.deploy(DeploymentManagerService.java:295) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.jmx.connector.invoker.InvokerAdaptorService.invoke(InvokerAdaptorService.java:270) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:138) at org.jboss.mx.server.Invocation.invoke(Invocation.java:90) at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:140) at org.jboss.jmx.connector.invoker.SerializableInterceptor.invoke(SerializableInterceptor.java:74) at org.jboss.mx.server.Invocation.invoke(Invocation.java:90) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668) at org.jboss.invocation.jrmp.server.JRMPProxyFactory.invoke(JRMPProxyFactory.java:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668) at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:855) at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:422) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Unknown Source) at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException: Multiple matching files not allowed: [ZipEntryHandler@31514341[path=WEB-INF/applicationContext-spring.xml context=file:/C:/AdminTool/jboss-5.0.0.GA/server/default/tmp/jsr88/FTest.war real=file:/C:/AdminTool/jboss-5.0.0.GA/server/default/tmp/jsr88/FTest.war/WEB-INF/applicationContext-spring.xml], ZipEntryHandler@4825040[path=WEB-INF/faces-config-spring.xml context=file:/C:/AdminTool/jboss-5.0.0.GA/server/default/tmp/jsr88/FTest.war real=file:/C:/AdminTool/jboss-5.0.0.GA/server/default/tmp/jsr88/FTest.war/WEB-INF/faces-config-spring.xml]] at org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer.handleMultipleFiles(AbstractVFSParsingDeployer.java:324) at org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer.parse(AbstractVFSParsingDeployer.java:241) at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:330) ... 71 more |
SucheKalender
Blog abonnierenBlogrollError on line 132 of /home/blacksl/webspace/blog.blackslash.de/bundled-libs/Onyx/RSS.php: The specified file could not be opened. (#404) |