0

good evening.
I'm trying to create a project that uses:

  • Java
  • JSF 2.3
  • Maven
  • CDI 2.0
  • Hibernate
  • Wildfly server

    My intention here is to learn the basics of all these fellas. At first I followed an awesome [tutorial by @BalusC][1] that tought me how to set up and first run the webapp.

    My problem now rests on integrating the database with the application. I followed some guides and searched a bit on internet and found that a way to do it is by editing web.xml and persistence.xml. (I tried to keep it as close to hist tutorial as possible).
    Here are my web.xml:

        <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                          http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
        version="4.0" metadata-complete="true">
        <display-name>project</display-name>
    
        ... (some params)
    
        <data-source>
            <name>java:global/projectDS</name>
            <class-name>org.postgresql.ds.PGConnectionPoolDataSource</class-name>
            <url>jdbc:postgresql://localhost:5432/project</url>
        </data-source>
    
        ... (servlet info)
    </web-app>
    

    And my persistence.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
        http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"
        version="2.2">
        <persistence-unit name="projectPU"
            transaction-type="JTA">
            <jta-data-source>java:global/projectDS</jta-data-source>
    
            <class>project.entity.Message</class>
    
            <properties>
                <property name="hibernate.dialect"
                    value="org.hibernate.dialect.PostgreSQL95Dialect" />
                <property name="hibernate.default_schema" value="main" />
                <property name="hibernate.hbm2ddl.auto" value="create" />
                <property name="javax.persistence.jdbc.driver"
                    value="org.postgresql.Driver" />
                <property name="hibernate.show_sql" value="true" />
                <property name="hibernate.format_sql" value="true" />
            </properties>
    
        </persistence-unit>
    </persistence>
    

    When I run the web app I receive the following error:

    Caused by: org.jboss.as.controller.OperationFailedException: WFLYJCA0117: org.postgresql.ds.PGConnectionPoolDataSource is not a valid javax.sql.DataSource implementation [ "WFLYJCA0117: org.postgresql.ds.PGConnectionPoolDataSource is not a valid javax.sql.DataSource implementation" ]
    

    I'd like to know if any of you know what I'm doing wrong and how can I work it out.

    P.S.: I read on WildFly's page that WildFly has it's own Hibernate "version", and some foruns said that there might be some issues while working with an "external" hibernate source. However, as my Hibernate configuration has nothing linked to any of Wildfly's config (i believe so), I guess that's not the problem.

    Thanks in advance.

    UPDATE #1
    I tried solution #2 from link @TacheDeChoco sent. At first it worker, but I got another error that I'm still trying to solve. I'll try I little bit more and will come here If a more complete feedback.
    Ansewring your questions: by the time I first asked, I hadn't done any of the things you asked.
    TY very much.

    1 Answer 1

    1

    Did you

    1. register a new postgres module (with the appropriate jar) in Wildfly ?
    2. Declare the datasource, along with the used driver, in wildfly config file (standalone-***.xml) ?

    Nice explanations can be found here (see option#2): https://www.stenusys.com/how_to_setup_postgresql_datasource_with_wildfly/

    Your Answer

    By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

    Not the answer you're looking for? Browse other questions tagged or ask your own question.