1

I'm trying to deploy two versions (master, develop) of the same Spring-Boot application into a Tomcat 8 Server, but I'm having trouble loading the DLLs it requires to work.

If I deploy a single versión of the application (either master or develop) it works like a charm, but if I try to deploy the other one it throws a java.lang.UnsatisfiedLinkError.

The DLLs are in Tomcat's bin folder.

Looks like I can't load the DLL from two applications at the same time (never heard of it) or somehow the second application is looking for them somewhere else...

I have different config files for each of the applications, and I have tried to specify the location of the DLLs in various ways:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
  <Parameter name="spring.profiles.active" value="production"/>
  <Parameter name="spring.config.location" value="<path to properties>"/>

  <!-- This did not work -->
  <Environment name="LD_LIBRARY_PATH" value="<Path to DLLs>" type="java.lang.String"/>
  <!-- Neither did this -->
  <Environment name="java.library.path" value="<Path to DLLs>" type="java.lang.String"/>

</Context>

Is there any way of telling Tomcat to load the DLLs from a different folder for each application?

Why can't I use the same DLL for both of them?

Any help will be very much appreciated.

Jago
  • 155
  • 9

1 Answers1

0

According to https://stackoverflow.com/a/12530284/4530226 it looks like you can't load a DLL twice on a single JVM, so we "fixed" it by having two different Tomcat Servers.

Jago
  • 155
  • 9