Instalei o wildyFly 8.0, mas a aplicação não inicia, mostra 404
Segue abaixo algumas informações, precisando de algo basta pedir.
meu standalone.xml, parte de conexão com o banco de dados
<subsystem xmlns="urn:jboss:domain:datasources:2.0">
<datasources>
<datasource jta="true" jndi-name="java:jboss/datasources/desifsql" pool-name="desifsql" enabled="true" use-java-context="true">
<connection-url>jdbc:postgresql://localhost:5432/desif_utf8</connection-url>
<driver>postgresql</driver>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>100</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>postgres</user-name>
<password>Maker@1</password>
</security>
<statement>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
<share-prepared-statements>true</share-prepared-statements>
</statement>
</datasource>
<drivers>
<driver name="postgresql" module="org.postgresql">
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
Meu arquivo de persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence-unit name="desif" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>java:/desifsql</jta-data-source>
<class>br.com.netsoft.desif.model.endereco.PaisEntity</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/desif_utf8" />
<property name="javax.persistence.jdbc.user" value="postgres" />
<property name="javax.persistence.jdbc.password" value="Maker@1" />
<property name="javax.persistence.validation.mode" value="none" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
</properties>
</persistence-unit>
</persistence>
Parte do log com erros:
ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation (“deploy”) failed - address: ([(“deployment” => “desif.war”)]) - failure description: {“JBAS014771: Services with missing/unavailable dependencies” => [“jboss.persistenceunit.“desif.war#desif”.FIRST_PHASE is missing [jboss.naming.context.java.desifsql]”]}
Conforme imagens, abaixo:
Banco de dados no servidor
Aqruivo war com falha
Erro 404
Arquivo jax e o xml do banco de dados
Você tem um datasource cujo JNDI é java:jboss/datasources/desifsql
e no teu persistence.xml você refere, apenas, a um com o nome java:/desifsql.
Sugiro que altere, no wildfly, o nome do jndi para o mesmo do persistence.xml.
Obrigado @Luis_Augusto_Santos
Eu percebi isto, alterei.Mas o erro 404 continua.
Mas ainda é algo com banco de dados
Posta o log do servidor. Só com ele conseguimos ajudar.
Até então o único erro é este:
2017-03-22 20:12:06,427 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation (“deploy”) failed - address: ([(“deployment” => “desif.war”)]) - failure description: {“JBAS014771: Services with missing/unavailable dependencies” => [“jboss.naming.context.java.module.desif.desif.env.jdbc.desif_utf8 is missing [jboss.naming.context.java.module.desif.desif.DefaultDataSource]”]}
Entendi que ele não está achando o data source com o nome desif_utf8, mas ele existe.
E onde você utiliza este datasource?
no momento está no meu computador o banco de dados.
Criei um novo banco de dados, em um outro postgres com outra porta e o wildfly não sobe de jeito nenhum.
Cara, a gente responde conforme consegue acessar o guj, ninguém fica aqui o tempo todo.
Segundo este tópico , o problema é que não houve deploy do driver do banco de dados.
Você fez o deploy do driver do postgres corretamente?
Sim @Luis_Augusto_Santos , eu sei disto.
É porque estou tentando subir uma aplicação a um bom tempo. Estranho que em no spring foi rápido.
Não seria nesta imagem acima ?
Existem diferenças conceituais muito expressivas entre spring e jee e isto é um dos problemas que você está enfrentando. O spring, naas versões mais atuais é muito mais user friendly que o jee. Não por não precisar de um AS, mas, por pegar conceitos deste e do jee, enbalá-los e deixá-los pronto para uso.
No caso do jee, jpa, cdi, jsf, jms, ejb e afins, você é obrigado a entendero conceito e usar as ferramentas de acordo com a cartilha. Qualquer ponto fora do lugar já desanda tudo.
Por quê é um problema pra ti? Você não estudou os conceitoa, nao tentou entender como o jee trata isto ou aquilo. É natural e compreensível que aja desta forma. Mas, se realmente quer fazer funcionar, comece esquecendo o spring e focando no jee.
1 curtida
na linha driver
não deveria ser:
<driver>org.postgresql.Driver</driver>
?
1 curtida
Pode ser simplesmente por este motivo que não esta iniciando.
1 curtida
Luis_Augusto_Santos:
Existem diferenças conceituais muito expressivas entre spring e jee e isto é um dos problemas que você está enfrentando. O spring, naas versões mais atuais é muito mais user friendly que o jee. Não por não precisar de um AS, mas, por pegar conceitos deste e do jee, enbalá-los e deixá-los pronto para uso.No caso do jee, jpa, cdi, jsf, jms, ejb e afins, você é obrigado a entendero conceito e usar as ferramentas de acordo com a cartilha. Qualquer ponto fora do lugar já desanda tudo.Por quê é um problema pra ti? Você não estudou os conceitoa, nao tentou entender como o jee trata isto ou aquilo. É natural e compreensível que aja desta forma. Mas, se realmente quer fazer funcionar, comece esquecendo o spring e focando no jee.
Entendi um pouco o que está falando.
Ontem comprei o pacote de cursos, vou começar a estudar.
Tentou a alteração que citei acima?
1 curtida
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="desif" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>java:/desifsql</jta-data-source>
<class>br.com.netsoft.desif.model.endereco.PaisEntity</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/desif_utf8" />
<property name="javax.persistence.jdbc.user" value="postgres" />
<property name="javax.persistence.jdbc.password" value="Maker@1" />
<property name="javax.persistence.validation.mode" value="none" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
</properties>
</persistence-unit>
</persistence>
@Felipe_Pedrosa , na verdade, não.
Ele está tentando utilizar um datasource, nenhuma propriedade de conexão com o banco de dados deveria estar definida ali.
O persistence.xml deveria estar assim
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="desif" transaction-type="JTA">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>java:/desifsql</jta-data-source>
<class>br.com.netsoft.desif.model.endereco.PaisEntity</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
<property name="javax.persistence.validation.mode" value="none" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
</properties>
</persistence-unit>
</persistence>