Hi List!
Here's my first contribution to this list - I tried the search of the
archives, but I had no luck in locating a thread that answers my
question. So here we go:
I am trying to start a whole new process inside a bundle. The used
Programm (the open source database hsqldb) is located in a subdirectory
of the felix runtime.
Basically I start the process using the Process class located in java.lang:
public boolean startLocalDBProcess() {
Runtime r = Runtime.getRuntime();
Process p = null;
try {
log.info("Starting local database process...");
String dir = System.getProperty("user.dir") +
"\\commonlib\\hsqldb";
log.debug("Directory set to " + dir);
p = r.exec("java -cp " + dir + "\\hsqldb.jar org.hsqldb.Server "
+ "-database.0 " + this.filename
+ " -port " + this.port +
" -silent false -trace true");
this.dbp = p;
log.info("Local database process started successfully!");
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}
When Felix is running and I try to open a connection to that hsqldb
instance it fails with the message "socket creation error" - but the
Process is definetly running! And I can't get a connection from an
outside Database-Tool too - for example the DatabaseManager from hsqldb:
When I try to connect to the local database (note: this DatabaseManager
runs in a completely different JVM on a local or remote system!) the
same error occurs.
An Now the funny thing: Once I shutdown the Felix Runtime and I try to
connect to the database again using the exact same setup with the
DatabaseManager, I receive a valid connection! Strange isn't it?
Here is my best guess: Is it possible, that Felix sets all the files
inside the Runtime Path as write protected and the "socket creation
error" is the result of not being able to write to the file of the
hsqldb? hsqldb is a database that needs certain files to operate
correctly and i am pretty sure they are changed during the programs
execution...
Any other ideas?
Thanks ist advance!
Greets
Tim
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]