run several embedded systems on one server, problem with double used port

#1

we want to run several embedded systems on one server. In principle this is working but there are endless logs generated reporting about a double used port. Ist there a possibility to configure that port for each embedded system

#2

Are you using embedded-server mode?

In that case you should be able to specify a port to be used when you open a database in the url/path:

    "$objectdb/db/my.odb;port=9999"

If you don't need the embedded server then you can disable it in the ObjectDB configuration:

    <embedded-server enabled="false" />
ObjectDB Support
#3

we switched off the embedded server, but still have logs (several per second) created with this contents:

 

[2020-10-26 16:37:58 #13006 server] 
java.net.BindException: Address already in use: JVM_Bind
    at java.net.DualStackPlainSocketImpl.bind0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketBind(Unknown Source)
    at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
    at java.net.PlainSocketImpl.bind(Unknown Source)
    at java.net.ServerSocket.bind(Unknown Source)
    at java.net.ServerSocket.<init>(Unknown Source)
    at java.net.ServerSocket.<init>(Unknown Source)
    at com.objectdb.o.SMR.o(SMR.java:260)
    at com.objectdb.o.SMR.f(SMR.java:160)
    at com.objectdb.o.TOL.run(TOL.java:117)
    at java.lang.Thread.run(Unknown Source)

 

 

#4

Please verify that you only use a configuration file that specifies:

    <embedded-server enabled="false" />

and also that you do not specify a port as part of the connection url.

This stack trace should not be generated if the configuration file includes the above line and no port is specified as part of the connection url (with the port= parameter).

ObjectDB Support

Reply