Menu

#152 jca-javaspace adapter

open
JBossCX (28)
1
2002-02-13
2002-02-13
No

This is a possibly complete but untested jca
adapter to javaspaces. I believe all significant
functionality is implemented but I have not been
able to set up enough supporting jini services to
test this. Help would be appreciated.

In any case it provides an example of how to
implement a simple jca adapter.

Discussion

  • David Jencks

    David Jencks - 2002-02-13
     
  • Niklas Uhrberg

    Niklas Uhrberg - 2002-12-27

    Logged In: YES
    user_id=675854

    This is a very interesting initiative !
    I could not extract the files from the jar file though.
    Please let me know if the file is subject to any special
    treatment or something.

    /Niklas Uhrberg
    niklasuhrberg@netscape.net

     
  • David Jencks

    David Jencks - 2002-12-27

    Logged In: YES
    user_id=60525

    I just tried and had no problems. If you'd like I can send you something
    in a different format privately.

    Thanks for your interest!

     
  • Niklas Uhrberg

    Niklas Uhrberg - 2002-12-27

    Logged In: YES
    user_id=675854

    Hmm, I was able to unpack the jarfile with unzip but still
    not with jar. Sorry for the inconvenience.
    This is a really nice initiative, I've been somewhat uneasy
    about introducing Jini in my work because of the
    "interoperability" issue with ordinary J2EE applications.
    I'd really like to hear about real world experiences
    combining J2EE and Jini with JCA. Hopefully you will hear
    something from me in the future.

    Regards , Niklas Uhrberg

     
  • Niklas Uhrberg

    Niklas Uhrberg - 2003-01-02

    Logged In: YES
    user_id=675854

    I managed to build the .rar file and deploy it. But the
    deployment of the jca-javaspace-service.xml fails with an
    error message starting with:
    [ServiceConfigurator] failed to complete install
    java.lang.ClassNotFoundException
    org.jboss.resource.ConnectionFactoryLoader

    Note: I did not build the .rar using the build.sh script in
    the distribution of jca-javaspace-source (I do ont know how
    to use it...)
    Instead I just compiled the sources and used the "jars"
    target in the build.xml file in the distribution of
    jca-javaspace-source, including the jini jars in the rar.

    I run jboss 3.0.4 and I get the same ClassNotFoundException
    on the "default" server configuration and the "all" server
    configuration.

    Do I make any mistake ?

    Thanks !

    /Niklas Uhrberg

     
  • Niklas Uhrberg

    Niklas Uhrberg - 2003-01-06

    Logged In: YES
    user_id=675854

    Hi,
    please ignore the previous comment about the deployment if
    the jca-javaspace-service.xml.
    I was able to mimic the usual jdbc service.xml files to get
    something that works. It would be nice with some comments on
    exactly what should go in there though.

    I also tested the javaspace connector briefly by deploying
    the connector itself (somewhat debugged), a session ejb
    performing a javaspace write and a javaspace together with a
    Mahalo instance. It works !

    I will continue testing the other operations.

    I started JBoss with -Djava.security.policy= somepolicy

    -Djava.security.manager=RMISecurityManager

    to enable downloading of RMI stubs and so on. Is there a
    more elegant way to achieve this ?

    Do you have any plans to complete the connector implementation ?

    Again, I really appreciate this initiative and would like to
    hear about the experiences of others doing ejb + jini.

    /Niklas Uhrberg

     
  • David Jencks

    David Jencks - 2003-01-06

    Logged In: YES
    user_id=60525

    Congratulations on getting it to deploy! Is there any chance you could
    write up some short instructions on how to get it to deploy with a
    javaspace running? I wasn't able to get that to work.

    It's been nearly a year since I looked at this, I don't recall exactly how
    far I got in the implementation... what needs to be completed in the
    adapter?

    Thanks!
    david jencks

     
  • Niklas Uhrberg

    Niklas Uhrberg - 2003-01-06

    Logged In: YES
    user_id=675854

    Oh yes, now I see that it's been a while since you wrote this !

    There are a number of todos in the code regarding metadata,
    xa transaction support, some lifecycle method (destroy) and
    only one execute method on the JSConnection is supported.
    I suspect one would like to have a few more parameters
    configurable as well (timeout for commit e.t.c.).

    I can have a try at a short instruction on setting up a test
    environment. There are quite a few things to remember when
    doing Jini...

    Is it OK that I send you my jca-javaspace-service.xml so
    that you can verify/correct it ?

    I have been looking for something stimulating to do to
    contribute to JBoss. Is this something that could be part of
    the JBoss distribution when completed ?
    I think it should because there are people wanting to use
    jini who ( like myself ) are not able to do it because of
    interoperability issues. Having a solid connector for
    javaspaces is a good start. Especially in the light of the
    latest JCA spec allowing for inbound messages.

    /Niklas Uhrberg

     
  • Niklas Uhrberg

    Niklas Uhrberg - 2003-01-18

    Logged In: YES
    user_id=675854

    Hi,
    the following is an instruction on how to set up some jini
    services to test the connector. You will need a few files to
    setup the scenario, please send me an email and I will
    submit them to you.

    Here's how you can run the connector and reggie, outrigger
    and mahalo. It's not exactly how I did it at first but I
    have tested this setup on my system (RedHat 8.0, JBoss
    3.0.4, Jini1_2_1_001). Moreover, some steps may not be
    entirely necessary but this is something that works. (I'm
    not sure whether it's a good idea to put jini jars in
    jre/lib/ext for instance)

    I found that someone else had already produced an ant script
    to show off jini, these instructions use this effort. Get it
    at
    http://home.earthlink.net/~shvets/Programs/Examples/JiniExamples/
    (download the source).

    Now for the instructions, I hope this is all:
    1. Make sure multicast is enabled.
    2. Copy jini-core.jar, jini-ext.jar, sun-util.jar,
    reggie.jar to JAVA_HOME/jre/lib/ext ( this is ugly but I
    did it for simplicity )
    3. Run JBoss with the start script run_debug.sh ( see
    attachment ). This script contains options enabling the
    downloading off stubs necessary for running jini. It also
    starts the server in debug mode which is irrelevant here).
    You will have to change the JAVA_OPTS in the script to match
    your installation.
    4. Fix an HTTP-server for downloading of stubs. I simply
    used a web application "jinilab" in JBoss containing the jars
    (create-dl.jar)
    (fiddler-dl.jar)
    jini-examples-dl.jar
    mahalo-dl.jar
    (mercury-dl.jar)
    (norm-dl.jar)
    outrigger-dl.jar
    reggie-dl.jar
    sdm-dl.jar
    space-examples-dl.jar

    The jars in parenthesis should not be needed ( but I really
    don't know what create-dl.jar is used for).

    5. Now use jiniexamples referred to above but use the
    build.xml and build.properties attached in this mail.
    Change the build.properties to match your installation.
    Run:
    a) ant rmid.start
    b) ant reggie
    c) ant mahalo
    d) ant outrigger

    You now have a lookup service, a transaction manager and a
    java space with the name 'JavaSpace' joining the public group.

    6. Now to the connector. Unjar the attached
    niklas-jca-javaspace-source.jar. It's your distribution a
    little debugged and with a new build script and a new
    jca-javaspace-service.xml.
    Change the relevant properties to match your installations
    and then run (using niklas-build.xml)
    ant buildrar
    The deployable rar is in the build directory.
    My jca-javaspace-service.xml is in the src/resources directory.

    I have added some printing to the connector classes to
    provide some "feedback". This is quite nice because you
    actually can see when the connector "connects" to the
    javaspace if you for instance deploy the connector before
    the javaspace is up and running.

    Good luck !

     
  • lixiaotang

    lixiaotang - 2003-06-09

    Logged In: YES
    user_id=795197

    Could you tell me whether i can use the adapter to connect
    to websphere application development from jboss or not?
    How to integrate jboss with websphere?

     

Log in to post a comment.