У меня были самые трудные времена при развертывании корпоративного приложения на Jboss. На мой взгляд, Jboss до смешного не интуитивно понятен, и его невозможно настроить без помощи. Я перехожу на JBoss, потому что glassfish прекратил коммерческую поддержку. Я пытаюсь развернуть корпоративное приложение (кстати, это EAP7): Deployments-> server-groups-> main-servergroup-> add. Когда я нажимаю кнопку «Развернуть», я получаю эту ошибку:
Unexpected HTTP response: 500 Request { "operation" => "add", "address" => [ ("server-group" => "main-server-group"), ("deployment" => "FlcErp_060116.1.ear") ], "runtime-name" => "FlcErp_060116.1.ear", "enabled" => true } Response Internal Server Error { "outcome" => "failed", "result" => undefined, "failure-description" => {"WFLYDC0074: Operation failed or was rolled back on all servers. Server failures:" => {"server-group" => {"main-server-group" => {"host" => {"master" => { "server-one" => {"WFLYCTL0180: Services with missing/unavailable dependencies" => [ "jboss.persistenceunit.\"FlcErp_060116.1.ear/FlcErp_v2-ejb.jar#FlcErp-enterprisePU\" is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantTwoScanner-ejb.jar#PlantTwoScanner-ejbPU\" is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantFourScanner-ejb.jar#PlantFourScanner-ejbPU\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/FlcErp_v2-ejb.jar#FlcErp-enterprisePU\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantFourScanner-ejb.jar#PlantFourScanner-ejbPU\" is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantTwoScanner-ejb.jar#PlantTwoScanner-ejbPU\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jdbc.erp]" ]}, "server-two" => {"WFLYCTL0180: Services with missing/unavailable dependencies" => [ "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantFourScanner-ejb.jar#PlantFourScanner-ejbPU\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/FlcErp_v2-ejb.jar#FlcErp-enterprisePU\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantTwoScanner-ejb.jar#PlantTwoScanner-ejbPU\" is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantTwoScanner-ejb.jar#PlantTwoScanner-ejbPU\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantFourScanner-ejb.jar#PlantFourScanner-ejbPU\" is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/FlcErp_v2-ejb.jar#FlcErp-enterprisePU\" is missing [jboss.naming.context.java.jdbc.erp]" ]} }}}}}}, "rolled-back" => true, "server-groups" => {"main-server-group" => {"host" => {"master" => { "server-one" => {"response" => { "outcome" => "failed", "failure-description" => {"WFLYCTL0180: Services with missing/unavailable dependencies" => [ "jboss.persistenceunit.\"FlcErp_060116.1.ear/FlcErp_v2-ejb.jar#FlcErp-enterprisePU\" is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantTwoScanner-ejb.jar#PlantTwoScanner-ejbPU\" is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantFourScanner-ejb.jar#PlantFourScanner-ejbPU\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/FlcErp_v2-ejb.jar#FlcErp-enterprisePU\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantFourScanner-ejb.jar#PlantFourScanner-ejbPU\" is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantTwoScanner-ejb.jar#PlantTwoScanner-ejbPU\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jdbc.erp]" ]}, "rolled-back" => true }}, "server-two" => {"response" => { "outcome" => "failed", "failure-description" => {"WFLYCTL0180: Services with missing/unavailable dependencies" => [ "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantFourScanner-ejb.jar#PlantFourScanner-ejbPU\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/FlcErp_v2-ejb.jar#FlcErp-enterprisePU\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantTwoScanner-ejb.jar#PlantTwoScanner-ejbPU\" is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantTwoScanner-ejb.jar#PlantTwoScanner-ejbPU\".__FIRST_PHASE__ is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/PlantFourScanner-ejb.jar#PlantFourScanner-ejbPU\" is missing [jboss.naming.context.java.jdbc.erp]", "jboss.persistenceunit.\"FlcErp_060116.1.ear/FlcErp_v2-ejb.jar#FlcErp-enterprisePU\" is missing [jboss.naming.context.java.jdbc.erp]" ]}, "rolled-back" => true }} }}}} }
Мое небольшое исследование показало, что это связано с отсутствующим драйвером, который я безуспешно пытался исправить. Я добавил это в /opt/JBoss7/domain/configuration/domain.xml:
<datasource
jndi-name="java:/erp" pool-name="erpPool"
enabled="true" jta="true"
use-java-context="true" use-ccm="true">
<connection-url>
jdbc:mysql://localhost:3306/erp
</connection-url>
<driver>
mysql
</driver>
<security>
<user-name>
root
</user-name>
<password>
flc_admin14114
</password>
</security>
<statement>
<prepared-statement-cache-size>
100
</prepared-statement-cache-size>
<share-prepared-statements/>
</statement>
</datasource>
А также зарегистрировать драйвер:
<driver name = "mysql" module = "com.mysql" />
Я также попытался развернуть свой драйвер mysql как приложение (так же, как я развернул корпоративное приложение). По-прежнему не повезло, пожалуйста, не связывайте меня с сайтами, я уже все их видел.
Изменить: просто попытался снова развернуть мой источник данных и получил эту ошибку:
Message
Tue Jun 07 10:00:26 GMT-700 2016
Unknown error
Unexpected HTTP response: 500
Request
{
"operation" => "composite",
"address" => [],
"steps" => [
{
"password" => "flc_admin14114",
"enabled" => true,
"jndi-name" => "java:/MysqlDataSource",
"user-name" => "admin",
"pool-name" => "MysqlDataSource_Pool",
"driver-class" => "com.mysql.jdbc.Driver",
"driver-name" => "mysql",
"valid-connection-checker-class-name" => "org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker",
"background-validation" => true,
"exception-sorter-class-name" => "org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter",
"use-ccm" => true,
"name" => "MysqlDataSource",
"operation" => "add",
"address" => [
("profile" => "Freres_Admin"),
("subsystem" => "datasources"),
("xa-data-source" => "MysqlDataSource")
]
},
{
"address" => [
("profile" => "Freres_Admin"),
("subsystem" => "datasources"),
("xa-data-source" => "MysqlDataSource"),
("xa-datasource-properties" => "ServerName")
],
"operation" => "add",
"value" => "localhost"
},
{
"address" => [
("profile" => "Freres_Admin"),
("subsystem" => "datasources"),
("xa-data-source" => "MysqlDataSource"),
("xa-datasource-properties" => "DatabaseName")
],
"operation" => "add",
"value" => "erp"
}
]
}
Response
Internal Server Error
{
"outcome" => "failed",
"failure-description" => {"domain-failure-description" => {"WFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-1" => "WFLYCTL0158: Operation handler failed: java.lang.IllegalStateException: WFLYCTL0363: Capability 'org.wildfly.data-source.MysqlDataSource' is already registered in context 'profile=Freres_Admin'."}}},
"rolled-back" => true
}