[wildfly-dev] Cassandra Subsystem

Heiko Braun hbraun at redhat.com
Fri Sep 19 08:57:21 EDT 2014


It's not my preferred solution, but something to explore.  At the same time I talking to the apache folks if we can get rid of the System.exit() call in C*. Which they seem to consider  a good thing too.

But thanks for the pointers, I'll have a look. Bootstrapping modules like we do it for WF didn't come to my mind.

Regards, Heiko

On 19 Sep 2014, at 14:52, David M. Lloyd <david.lloyd at redhat.com> wrote:

> Well, I have a bias of course, but it seems to me like you could just 
> add Cassandra and its dependencies as modules and then launch it like this:
> 
>     String javaHome = System.getProperty("java.home");
>     ProcessBuilder pb = new ProcssBuilder(
> 	javaHome + File.pathSeparator + "bin" + File.pathSeparator + "java",
>         ...jvm args...,
>         "-jar",
>         "jboss-modules.jar",
>         "-mp",
>         "modules",
>         "org.whatever.cassandra",
>         ...cassandra args...);
>     ...set up I/O redirection here...
>     Process p = pb.start();
> 
> On 09/19/2014 03:12 AM, Heiko Braun wrote:
>> 
>> 
>> David,
>> 
>> I've been thinking more about your proposal to treat the cassandra daemon as a subprocess. Currently the cassandra dependencies are installed along side the module. How would I pass the classpath to the subprocess? Is there a way to get to the CP, similar to the way an URLClassLoader exposes it? Or how could it be achieved with JBoss modules?
>> 
>> /Heiko
>> 
>> On 26 Aug 2014, at 17:36, David M. Lloyd <david.lloyd at redhat.com> wrote:
>> 
>>> Yeah, you could have a service that controls the cassandra daemon as a
>>> service and uses whatever its default network API is for communications.
>>>  This should be safe and reliable as of JDK 7.
>>> 
>>> Just a suggestion in case embedding becomes an untenable proposition.
>>> 
>>> On 8/26/14, 8:23 AM, Heiko Braun wrote:
>>>> 
>>>> 
>>>> Not sure I can follow. Do you refer to the System.exit() calls?
>>>> 
>>>> On 26 Aug 2014, at 15:10, David M. Lloyd <david.lloyd at redhat.com
>>>> <mailto:david.lloyd at redhat.com>> wrote:
>>>> 
>>>>> One possible option might be to run it as a subprocess.
>>>> 
>>> 
>>> 
>>> --
>>> - DML
>>> _______________________________________________
>>> wildfly-dev mailing list
>>> wildfly-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>> 
> 
> -- 
> - DML
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev




More information about the wildfly-dev mailing list