Ralf Mertens

Greenhorn
+ Follow
since Feb 06, 2013
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Ralf Mertens

Problem solved.
I moved the Java Connector Files to the tomcat/bin folder.
Seems that all .jars from this folder are initialized at startup, and are accessible
for both tomcat system modules (as realms) and web-applications.

Regards
Ralf
11 years ago
Hi,

I wrote some web application (based on .jsp) running on Tomcat 6 using SAP's Java Connector.
The Java Connector files (.jar und some native .dll) are placed in the tomcat/lib folder.

I wrote a custom realm for tomcat that uses the Java Connector to authorize the user
in SAP. The web application also communicates via the pre-loaded Java Connector with
SAP. All this works fine for several years now, with hundreds of users.

Now I tried to upgrade to Tomcat 7 and encountered severe problems.

After converting the realm to Tomcat 7 the realm establishes the SAP connection correctly, but
when the web application is started, a new instance of the Java Connector is established and
this instance builds a new connection to SAP.
The problem is, that the Java Connector may only run once in the JVM, so at this point only one
user can use the web application. Starting the web application from another client causes errors.

It seems, that the web application class loader ignores the already loaded and initialized classes
in the common class loader (the static variables in the classes are null at startup of the web
application, even though the realm initialized the classes).

I tried to use the shared-class loader, but the realm requires to be loaded in the common class loader.
When the realm is loaded, the shared-class loader seems not to be present.

Any suggestions what to do ?

Regards
Ralf
11 years ago