"XNIO001001: Keine XNIO Anbieter gefunden" Fehler beim bereitstellen auf Wildfly mit Cargo-Java-API und Jenkins

Arbeite ich auf einem Jenkins-plugin, das verwaltet die Bereitstellung der EAR-Dateien in Java-EE-Container mit der Codehaus Cargo Java-API, aber ich getroffen habe ein Problem bei der Verwendung der API zur Bereitstellung einer remote-Wildfly-container. Der code funktioniert gut, wenn das implementieren in andere Container wie Glassfish, aber beim Versuch zum bereitstellen der EAR-Datei, um eine Wildfly-container die Fehlermeldung XNIO001001: No XNIO provider found zurückgegeben.

Habe ich verbrachte mehrere Stunden der recherche zu diesem problem, aber ich kann nichts finden, das könnte das problem beheben. Dieses Problem tritt auf, wenn Sie versuchen, zu implementieren, um Wildfly 8.1 und 8.2 unter Windows und Ubuntu. Ich habe auch überprüft, den Wildfly server-log, aber es muss nicht alles enthalten, was im Zusammenhang mit diesem Problem.

Meine Frage ist was kann ich tun, um zu verhindern, dass die XNIO001001: No XNIO provider found Fehler beim bereitstellen auf einem Wildfly-container, während der code ist Teil eines Jenkins-plugin?

Ich weiß, dass Jenkins bereits ein ähnliches plugin und Cargo verwendet werden können mit Maven zum bereitstellen von Containern, aber weder die option erfüllt meine spezifischen Anforderungen.

Den code, den ich geschrieben habe, zum bereitstellen der EAR-Datei ist wie folgt:

public void redeploy(String containerId, String deployFile, String hostname, String username, String password) {

  DeployableFactory deployableFactory = new DefaultDeployableFactory();
  Deployable deployable = deployableFactory.createDeployable(containerId, deployFile, DeployableType.EAR);

  ConfigurationFactory configurationFactory = new DefaultConfigurationFactory();
  Configuration configuration = configurationFactory.createConfiguration(containerId, ContainerType.REMOTE, ConfigurationType.RUNTIME);
  configuration.setProperty("cargo.hostname",hostname);
  configuration.setProperty("cargo.remote.username", username);
  configuration.setProperty("cargo.remote.password", password);

  ContainerFactory containerFactory=new DefaultContainerFactory();
  Container container = containerFactory.createContainer(containerId, ContainerType.REMOTE, configuration);

  DeployerFactory deployerFactory = new DefaultDeployerFactory();
  Deployer deployer = deployerFactory.createDeployer(container);

  deployer.redeploy(deployable);
}

Wenn containerId eingestellt ist wildfly8x die Fehlermeldung XNIO001001: No XNIO provider found zurückgegeben wird zusammen mit den folgenden stacktrace:

org.codehaus.cargo.util.CargoException: Cannot deploy deployable org.codehaus.cargo.container.deployable.EAR[hello-world-ear-0.0.1-SNAPSHOT.ear]
    at org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.deploy(JBoss5xRemoteDeployer.java:216)
    at org.codehaus.cargo.container.spi.deployer.AbstractDeployer.redeploy(AbstractDeployer.java:245)
    at org.jenkinsci.plugins.cargo.CargoDeployer.redeploy(CargoDeployer.java:56)
    at org.jenkinsci.plugins.cargo.DeployerRedeploy.perform(DeployerRedeploy.java:97)
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726)
    at hudson.model.Build$BuildExecution.post2(Build.java:185)
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671)
    at hudson.model.Run.execute(Run.java:1769)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:374)
Caused by: java.lang.IllegalArgumentException: XNIO001001: No XNIO provider found
    at org.xnio.Xnio.doGetInstance(Xnio.java:238)
    at org.xnio.Xnio.getInstance(Xnio.java:193)
    at org.jboss.remoting3.Remoting.createEndpoint(Remoting.java:112)
    at org.jboss.as.controller.client.impl.RemotingModelControllerClient.getOrCreateChannel(RemotingModelControllerClient.java:124)
    at org.jboss.as.controller.client.impl.RemotingModelControllerClient$1.getChannel(RemotingModelControllerClient.java:67)
    at org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:117)
    at org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:92)
    at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeRequest(AbstractModelControllerClient.java:236)
    at org.jboss.as.controller.client.impl.AbstractModelControllerClient.execute(AbstractModelControllerClient.java:141)
    at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeAsync(AbstractModelControllerClient.java:101)
    at org.jboss.as.controller.client.helpers.standalone.impl.ModelControllerClientServerDeploymentManager.executeOperation(ModelControllerClientServerDeploymentManager.java:50)
    at org.jboss.as.controller.client.helpers.standalone.impl.AbstractServerDeploymentManager.execute(AbstractServerDeploymentManager.java:79)
    at org.codehaus.cargo.tools.jboss.JBossDeployer.executeAction(JBossDeployer.java:144)
    at org.codehaus.cargo.tools.jboss.JBossDeployer.deploy(JBossDeployer.java:84)
    at org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.deploy(JBoss5xRemoteDeployer.java:212)
    ... 12 more
java.lang.IllegalArgumentException: XNIO001001: No XNIO provider found
    at org.xnio.Xnio.doGetInstance(Xnio.java:238)
    at org.xnio.Xnio.getInstance(Xnio.java:193)
    at org.jboss.remoting3.Remoting.createEndpoint(Remoting.java:112)
    at org.jboss.as.controller.client.impl.RemotingModelControllerClient.getOrCreateChannel(RemotingModelControllerClient.java:124)
    at org.jboss.as.controller.client.impl.RemotingModelControllerClient$1.getChannel(RemotingModelControllerClient.java:67)
    at org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:117)
    at org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:92)
    at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeRequest(AbstractModelControllerClient.java:236)
    at org.jboss.as.controller.client.impl.AbstractModelControllerClient.execute(AbstractModelControllerClient.java:141)
    at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeAsync(AbstractModelControllerClient.java:101)
    at org.jboss.as.controller.client.helpers.standalone.impl.ModelControllerClientServerDeploymentManager.executeOperation(ModelControllerClientServerDeploymentManager.java:50)
    at org.jboss.as.controller.client.helpers.standalone.impl.AbstractServerDeploymentManager.execute(AbstractServerDeploymentManager.java:79)
    at org.codehaus.cargo.tools.jboss.JBossDeployer.executeAction(JBossDeployer.java:144)
    at org.codehaus.cargo.tools.jboss.JBossDeployer.deploy(JBossDeployer.java:84)
    at org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.deploy(JBoss5xRemoteDeployer.java:212)
    at org.codehaus.cargo.container.spi.deployer.AbstractDeployer.redeploy(AbstractDeployer.java:245)
    at org.jenkinsci.plugins.cargo.CargoDeployer.redeploy(CargoDeployer.java:56)
    at org.jenkinsci.plugins.cargo.DeployerRedeploy.perform(DeployerRedeploy.java:97)
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726)
    at hudson.model.Build$BuildExecution.post2(Build.java:185)
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671)
    at hudson.model.Run.execute(Run.java:1769)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:374)

In der pom.xml die Datei für mein plugin habe ich folgende Abhängigkeiten

<dependency>
  <groupId>org.codehaus.cargo</groupId>
  <artifactId>cargo-core-container-wildfly</artifactId>
  <version>1.4.14</version>
</dependency>
<dependency>
  <groupId>org.codehaus.cargo</groupId>
  <artifactId>cargo-core-container-jboss</artifactId>
  <version>1.4.14</version>
</dependency>
<dependency>
  <groupId>org.wildfly</groupId>
  <artifactId>wildfly-controller-client</artifactId>
  <version>8.2.0.Final</version>
</dependency>

Update: ich habe einige weitere nachforschungen und habe festgestellt, dass dies nur ein Problem beim ausführen meines Codes als ein Jenkins-plugin. Wenn ich den gleichen code in einer standalone-Anwendung dann die Ladung in der Lage ist, zum bereitstellen der EAR-Datei zu Wildfly ohne Probleme.

  • Ich wechselte von der Ladung zu wildfly-maven-plugin vor einer Weile, und alle meine Probleme waren Weg - YMMV.
InformationsquelleAutor Paul H | 2015-06-11
Schreibe einen Kommentar