I have a server linux Ubuntu (14.04.4) with Tomcat and Java in it.
I recently upgraded Java from 7 to 8 (leaving Tomcat 7)
this is the situation
my web application starts but throws an exception during the db connection
Jul 11, 2016 3:41:19 PM org.apache.tomcat.jdbc.pool.ConnectionPool init
SEVERE: Unable to create initial connections of pool.
java.sql.SQLException: com.mysql.jdbc.Driver
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:254)
at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:701)
at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:635)
at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:486)
at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:144)
at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116)
at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103)
at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127)
this is the connection URL: jdbc:mysql://localhost:3306/
NOTE 1: mysql-connector-java-5.0.8-bin.jar is in tomcat lib
NOTE 2: I tried to put mysql-connector-java-5.0.8-bin.jar even in WEB-INF/lib
NOTE 3: the same application with the same configuration of Tomcat and Java works fine in my local pc.
UPDATE:
here the configuration:
PoolProperties p = new PoolProperties();
p.setRemoveAbandoned(Boolean.parseBoolean(System.getProperties().getProperty(pathContestoString+"db.removeAbandoned")));
p.setRemoveAbandonedTimeout(Integer.parseInt(System.getProperties().getProperty(pathContestoString+"db.removeAbandonedTimeout")));
p.setLogAbandoned(Boolean.parseBoolean(System.getProperties().getProperty(pathContestoString+"db.logAbandoned")));
p.setMaxActive(Integer.parseInt(System.getProperties().getProperty(pathContestoString+"db.maxActive")));
p.setMaxIdle(Integer.parseInt(System.getProperties().getProperty(pathContestoString+"db.maxIdle")));
p.setMaxWait(Integer.parseInt(System.getProperties().getProperty(pathContestoString+"db.maxWait")));
p.setUsername(System.getProperties().getProperty(pathContestoString+"db.user"));
p.setPassword(System.getProperties().getProperty(pathContestoString+"db.pwd"));
p.setDriverClassName("com.mysql.jdbc.Driver");
p.setUrl(System.getProperties().getProperty(pathContestoString+"db.url")+System.getProperties().getProperty(pathContestoString+"db.dbname")+"?useEncoding=true&characterEncoding=UTF-8&ssl=true");
// factory?
// closeMethod?
p.setValidationQuery("SELECT 1");
p.setTestOnBorrow(true);
App.properties:
db.user=myUser
db.pwd=myPwd
db.url=jdbc:mysql://localhost:3306/
db.dbname=myDbName
db.maxActive=50
db.maxIdle=30
db.maxWait=50000
db.removeAbandoned=true
db.removeAbandonedTimeout=20
db.logAbandoned=true
Related
<>#BWEclipseAppNode> 12:12:32.545 INFO [main] com.tibco.thor.frwk.Deployer - Started by BusinessStudio.
12:12:34.970 INFO [main] com.tibco.bw.frwk.engine.BWEngine - TIBCO-BW-FRWK-300002: BW Engine [Main] started successfully.
12:12:35.355 INFO [Framework Event Dispatcher: Equinox Container: 80edabb3-8e47-001c-18c5-90bdbc610de0] com.tibco.thor.frwk.Deployer - TIBCO-THOR-FRWK-300001: Started OSGi Framework of AppNode [BWEclipseAppNode] in AppSpace [BWEclipseAppSpace] of Domain [BWEclipseDomain]
12:12:35.483 INFO [Framework Event Dispatcher: Equinox Container: 80edabb3-8e47-001c-18c5-90bdbc610de0] com.tibco.thor.frwk.Application - TIBCO-THOR-FRWK-300018: Deploying BW Application [RESTservice2.application:1.0].
12:12:40.067 INFO [Framework Event Dispatcher: Equinox Container: 80edabb3-8e47-001c-18c5-90bdbc610de0] com.tibco.thor.frwk.Application - TIBCO-THOR-FRWK-300021: All Application dependencies are resolved for Application [RESTservice2.application:1.0]
12:12:41.431 INFO [Thread-28] com.tibco.thor.frwk.Application - TIBCO-THOR-FRWK-300019: BW Application [RESTservice2.application:1.0] is impaired.
12:12:41.435 INFO [Framework Event Dispatcher: Equinox Container: 80edabb3-8e47-001c-18c5-90bdbc610de0] com.tibco.thor.frwk.Application - Started by BusinessStudio, ignoring .enabled settings.
12:12:41.438 ERROR [CM Configuration Updater (Update: pid=bw.resource.jdbc.916120c9-fbcb-45de-a13c-b22e3edf76ec)] com.tibco.bw.sharedresource.runtime.dependency.ReferenceDependency - TIBCO-BW-SR-FRWK-503000: Unable to start SharedResource [restservice2.JDBCConnectionResource] from Module [RESTservice2:1.0.0.qualifier], DeploymentUnit [RESTservice2.application:1.0]. <Reason>: TIBCO-BW-SR-JDBC-500003: The database driver [com.mysql.jdbc.Driver] is not found. Ensure that DataSourceFactory bundle providing this driver is available in the environment.
so this is the error i am getting as a result i cant run OSGi commands to request endpoint urls and for my rest service even though my code has no errors before debug ,i am getting this during debug ,please help.
In order to use the MySql JDBC driver you need to install it in the BusinessWorks environment of your machine.
This is done by running the command 'bwinstall mysql-driver' from the <TIBCO_HOME>bw/6.X/bin folder.
As Emmanuel suggested, according to the error, you probably missed the required JDBC driver installation.
Once you execute the command, it will start successfully.
I am trying to connect an application with VisualVM, but VisualVM unable to connect with application: Below is the env:
JBoss EAP 7.3
Java 11
OpenShift
I have tried to configure it in different ways, but all failed:
Config try 1:
Use few env variables in script file, so that it could execute first (file contents are mentioned below):
echo *** Adding system property for VisulVM ***
batch
/system-property=jboss.modules.system.pkgs:add(value="org.jboss.byteman,com.manageengine,org.jboss.logmanager")
/system-property=java.util.logging.manager:add(value="org.jboss.logmanager.LogManager")
run-batch
I can see that above commands executed successfully and above properties are available in JBoss config (I verified using Jboss cli command).
JAVA_TOOLS_OPTIONS: -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=3000 -Dcom.sun.management.jmxremote.rmi.port=3001 -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Xbootclasspath/a:/opt/eap/modules/system/layers/base/org/jboss/log4j/logmanager/main/log4j-jboss-logmanager-1.2.0.Final-redhat-00001.jar -Xbootclasspath/a:/opt/eap/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-2.1.14.Final-redhat-00001.jar
Result:
- java.lang.RuntimeException: WFLYCTL0079: Failed initializing module org.jboss.as.logging
- Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: WFLYLOG0078: The logging subsystem requires the log manager to be org.jboss.logmanager.LogManager. The subsystem has not be initialized and cannot be used. To use JBoss Log Manager you must add the system property "java.util.logging.manager" and set it to "org.jboss.logmanager.LogManager"
Config 2:
JAVA_TOOL_OPTIONS= -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=3000 -Dcom.sun.management.jmxremote.rmi.port=3001 -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.util.logging.manager=org.jboss.logmanager.LogManager -Djboss.modules.system.pkgs=org.jboss.byteman,org.jboss.logmanager -Xbootclasspath/a:/opt/eap/modules/system/layers/base/org/jboss/log4j/logmanager/main/log4j-jboss-logmanager-1.2.0.Final-redhat-00001.jar -Xbootclasspath/a:/opt/eap/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-2.1.14.Final-redhat-00001.jar
Result:
WARNING: Failed to instantiate LoggerFinder provider; Using default.
java.lang.IllegalStateException: The LogManager was not properly installed (you must set the "java.util.logging.manager" system property to "org.jboss.logmanager.LogManager")
Config 3:
• Modify in standalone.conf, where I put all required configuration in this file.
Result:
WARNING: Failed to instantiate LoggerFinder provider; Using default.
java.lang.IllegalStateException: The LogManager was not properly installed (you must set the "java.util.logging.manager" system property to "org.jboss.logmanager.LogManager")
Kindly suggest that what is the correct configurations?
I am getting the below error when i am trying to connect to my database.
Exception in thread "main" java.lang.NoClassDefFoundError: java.util.concurrent.ConcurrentHashMap
at com.mysql.jdbc.NonRegisteringDriver.<clinit>(NonRegisteringDriver.java:83)
at java.lang.Class.initializeClass(libgcj.so.7rh)
at java.lang.Class.initializeClass(libgcj.so.7rh)
at java.lang.Class.forName(libgcj.so.7rh)
at java.lang.Class.forName(libgcj.so.7rh)
at test.main(test.java:14)
Information :
Platform : RHEL 5
Java : jdk1.6.0_45
jdbc connector : mysql-connector-java-5.1.26-bin.jar
Sever: Tomcat 6
I have placed the jdbc connector inside usr/share/java/ Directory.
and my program to test the connection is placed in the root folder.
I have set the CLASSPATH to point to the connector using EXPORT command.
and I am using javac filename.java command to compile & java filename to run it.
A JDBC driver doesn't need to be installed or configured. You download the jar, add it to the runtime classpath of your application, and you're done:
java -cp someJar.jar:someDirectory:theMySQLJdbcDriver.jar com.foo.bar.Main
I have installed the old version of mysql connector which was compatible with RHEL5
and now its working fine.
Thanks !!
Whenever I try (My)SQL queries on the sever (the server is in debug mode in Eclipse) I get this error:
SEVERE: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
Now I can't recall how I got this detail, but I suspect that the following info is relevant:
with %MyWorkspace% being some path like x:\some_path, this path:
%MyWorkspace%\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\rewardy\WEB-INF\lib
contains the mysql-connector-java-5.1.13-bin.jar file, that if I'm not wrong has the com.mysql.jdbc.Driver class that it looks for (am I right ?...)
I use this config: Win7 x64, Eclipse Helios Service Release 2, WAMP Server and Tomcat 6.0.26.
You should have to add location of mysql-connector-java-5.1.13-bin.jar via project properties + Java Build Path + Add External Jars (Eclipse IDE)
have you mysql-connector-java-5.1.13-bin.jar in classpath or in libs/ on tomcat ? – triclosan
Thanks #triclosan, I put it in Tomcat/lib and it works now!
I'm trying to test a session bean (NetBeans 6.8, Glassfish V3). Unfortunately, the embedded glassfish is unable to start properly, as it tries to connect to a remote JMS Provider (at localhost:7676):
$ ant test
...
[junit] Mar 23, 2010 12:13:51 PM com.sun.messaging.jms.ra.ResourceAdapter start
[junit] INFO: MQJMSRA_RA1101: SJSMQ JMS Resource Adapter starting: REMOTE
[junit] Mar 23, 2010 12:13:51 PM com.sun.messaging.jmq.jmsclient.ExceptionHandler throwConnectionException
[junit] WARNING: [C4003]: Error occurred on connection creation [localhost:7676]. - cause: java.net.ConnectException: Connection refused
The error is in itself correct, as no (other) JMS provider is running. I was expecting the embedded glassfish to start the JMS provider in EMBEDDED mode.
My test uses javax.ejb.embeddable.EJBContainer :
#BeforeClass
public static void initContainer() throws Exception {
ec = EJBContainer.createEJBContainer();
ctx = ec.getContext();
}
When I start glassfish normally, it's fine:
$ bin/asadmin get server.jms-service.type
server.jms-service.type=EMBEDDED
How can I get my junit tests to use an embedded glassfish with an EMBEDDED JMS Provider?
Ok, I downloaded an official glassfish build (v3.0.1) from here, and now it's starting the JMS Provider EMBEDDED as expected.