GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

[resolvido]-Aplicação wildyFly 8.0 não sobre

java
Tags: #<Tag:0x00007ff040b5ff80>

#1

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


#2

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.


#3

Obrigado @Luis_Augusto_Santos

Eu percebi isto, alterei.Mas o erro 404 continua.

Mas ainda é algo com banco de dados


#4

Posta o log do servidor. Só com ele conseguimos ajudar.


#5

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]”]}


#6

Entendi que ele não está achando o data source com o nome desif_utf8, mas ele existe.


#7

E onde você utiliza este datasource?


#8

Não entendi a pergunta.


#9

no momento está no meu computador o banco de dados.


#10

Alguém ?


#11

Criei um novo banco de dados, em um outro postgres com outra porta e o wildfly não sobe de jeito nenhum.


#12

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?


#13

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 ?


#14

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.


#15

na linha driver não deveria ser:

<driver>org.postgresql.Driver</driver>

?


#16

Deveria


#17

Pode ser simplesmente por este motivo que não esta iniciando.


#18

Entendi um pouco o que está falando.

Ontem comprei o pacote de cursos, vou começar a estudar.


#19

Tentou a alteração que citei acima?


#20
<?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>