Hi all!
The current interface StoredProcEngineConfig from
org.apache.directory.server.core.sp
basically looks like this:
---
interface StoredProcEngineConfig
{
/**
* Returns the type of the associated [EMAIL PROTECTED] StoredProcEngine}.
*/
Class<? extends StoredProcEngine> getStoredProcEngineType();
/**
* Returns the unique language identifier of the [EMAIL PROTECTED]
StoredProcEngine}.
*/
String getStoredProcLangId();
}
---
The interface StoredProcEngine has only one SPLangId, as well.
This makes it hard to provide a StoredProcEngine implementation for more
than one language. I have started a BsfStoredProcEngine, and ran into
two problems:
* My StoredProcEngine should be able to support several scripting
languages, but I can only return one of them as SPLangId
* The only way to create my class currently is the default constructor.
Thus I am not able to use Spring to configure my StoredProcEngine
I would like to modify the interfaces in order to support
StoredProcEngines with more than one language, and to configure them
with properties.
Before I can propose concrete changed, I have a question (probably to Ersin)
The StoredProcEngine life cycle seems to presume that there is an
instance for each stored procedure. How often are the methods
* setSPUnitEntry
* invokeProcedure
presumed to be called?
Currently, the implementation within StoredProcExecutionManager looks
like a new StoredProcEngine is created for each call. The methods will
be called one after the other. Is a StoredProcEngine supposed to be
stateful or stateless?
Thanks in advance,
Stefan