$ ls .
Dockerfile module.xml ojdbc11.jar
$ cat module.xml
<module xmlns="urn:jboss:module:1.9" name="com.oracle">
<resources>
<resource-root path="ojdbc11.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
$ cat Dockerfile
FROM quay.io/wildfly/wildfly:28.0.1.Final-jdk17
COPY module.xml $JBOSS_HOME/modules/com/oracle/main/
COPY ojdbc11.jar $JBOSS_HOME/modules/com/oracle/main/
$ docker build -t wildfly-with-oracle .
$ docker run -p 8080:8080 wildfly-with-oracle:latest
For the next command, replace d437c231ccf9
with your own container ID (from docker ps
)
$ docker exec -it d437c231ccf9 /opt/jboss/wildfly/bin/jboss-cli.sh -c
[standalone@localhost:9990 /] /subsystem=datasources/jdbc-driver=oracle:add(driver-module-name=com.oracle)
{"outcome" => "success"}
In the logs from WildFly, you will see:
09:29:57,135 INFO [org.jboss.as.connector.subsystems.datasources] (management-handler-thread - 1) WFLYJCA0004: Deploying JDBC-compliant driver class oracle.jdbc.OracleDriver (version 23.3)
09:29:57,135 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) WFLYJCA0018: Started Driver service with driver-name = oracle
=> that shows tha the oracle driver was properly created from the com.oracle JBoss Module
It's possible there's something wrong with the jar file. I can download a fresh copy and see how that works.
Here is my docker-compose.yml file. It's pretty simple compared:
What I've omitted here was my mapping for the
/opt/jboss/wildfly/standalone/configuration
folder which would be mapped similar to the deployments and logs mapping. The cartago-home mapping is for our application once I get to the point where I can attempt to deploy it. This is simply a test environment for my team so I don't need to embedd it also in the image.Update:
I downloaded a new copy of the ojdbc11.jar from Maven and it's still not working. Same error when I attempt to add the module via cli.