legolas wood wrote:
Hi
Thank you for reply.
I should use them in embedded Derby , so i can not pass parameters to it
or try to set OS parameter because it goes to run on clients machines.
so i asked for a method that allows me use them from my java codes.
If I understand you correctly, you have made a Java/JDBC application
using the embedded driver that you plan to distribute to multiple
machines, and you won't have control of the parameters used to start the
application.
If you are using the embedded driver, you can still use a
derby.properties file to set the properties (place it in the working
directory of your Java program). Alternatively, you can set the
properties in your Java code before you load the driver, for example:
System.setProperty(propertyKey, propertyValue);
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
...
(see JavaDoc for java.lang.System.setProperty() )
For example, if you want to disable all info/error logging completely,
you can create a method implementing a stream as follows:
public static java.io.OutputStream disableDerbyLogFile(){
return new java.io.OutputStream() {
public void write(int b) throws IOException {
// Ignore all log messages
}
};
}
Let's say this method is in a class called MyProgram. Then you would
disable all logging by setting the property derby.stream.error.method
and point it to that method, like this:
System.setProperty("derby.stream.error.method",
"MyProgram.disableDerbyLogFile");
--
John