eXist + Groovy 1.5.6 + xmlrpc clash

View: New views
7 Messages — Rating Filter:   Alert me  

eXist + Groovy 1.5.6 + xmlrpc clash

by rloesche :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi, I'm just starting to get familiar with eXist. I have a project ahead where i can make good use of an XML database and so I started investigating. I want to load a 100.000 xml documents into the store for purpose of analysing. when using the ant tasks everything works fine.
I would like to use Groovy and the AntBuilder to setup my project solution. But here the problems start.
As soon as I start using Groovy and the AntBuilder there is a clash. The error message reads:
==================================
    [store] Found 7 files.
    [store] Storing applicationContext.xml ...
Caught: : java.lang.LinkageError: Class org/xml/sax/InputSource violates loader constraints
        at exist1.run(exist1.groovy:14)
        at exist1.main(exist1.groovy)
==================================
eXist has a dependency on xmlrpc-1.2-patched.jar and this is the offending guy - as far as I can say. I tried using different versions of xmlrpc, but that did not work. I also tried killing the InputSource from the jar - did not help either ( it could not find the xmlrpc any longer ).

The working ant build file is:
-----------------------------------------
<?xml version="1.0"?>
<project name="exist" default="x">
        <path id="classpath.core">  
                <fileset dir="C:/Dokumente und Einstellungen/admin/.groovy/exist">
                        <include name="*.jar"/>
                </fileset>
        </path>

        <typedef resource="org/exist/ant/antlib.xml" uri="http://exist-db.org/ant">
                <classpath refid="classpath.core"/>
        </typedef>

        <target name="x">
                <xdb:store xmlns:xdb="http://exist-db.org/ant" uri="xmldb:exist://localhost:8080/exist/xmlrpc/db/rl1" createcollection="true">  
                        <fileset dir="C:/data/workspace/rloesche/svn-repository/developmentsupport/Technologie/xmls">
                                <include name="*.xml"/>
                        </fileset>
                </xdb:store>
        </target>
</project>
-------------------------------------------------------------------------

the Groovy file that does not work is: ( gives the error messge above )
-------------------------------------------------------------------------
// here are the source files to load
fns       ='C:/data/workspace/rloesche/svn-repository/developmentsupport/Technologie/xmls'

// here are all the eXist jars
existpath ='C:/Dokumente und Einstellungen/admin/.groovy/exist'

def ant = new AntBuilder()
ant.taskdef( name:"store", classname:"org.exist.ant.XMLDBStoreTask"){
  classpath{
    fileset(dir:existpath,includes:"*.jar")
  }
}

ant.store(uri:"xmldb:exist://localhost:8080/exist/xmlrpc/db/rl1", createcollection:"true"){
  fileset(dir:fns){
    include( name:"*.xml")
  }
}
------------------------------------------------------------

mY environemtn is:

-Groovy 1.5.6
-Windows XP
-eXist: a current download as of today
-Java 1.5.0

I really would apreciate any help

regards

ralf


Re: eXist + Groovy 1.5.6 + xmlrpc clash

by Adam Retter-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I think perhaps the first thing to establish would be exactly what is
xmlrpc-1.2-patched.jar ?

A quick peak into the package leads me to believe that it is related
to this - http://www.wilson.co.uk/embedded/emb1.htm

So it would seem that eXist uses a more memory efficent implementation
of xmlrpc, although I wonder if it is strictly nessecary. Java 5 ships
with its own org.xml.sax classes now and for the sake of ease in eXist
1.3 it may be worth switching over to those. On side note we could
also loose the xerces jar (and probably others) as this is also
shipped in Java 5.

Cheers Adam.


2008/7/5 rloesche <ralf.loesche@...>:

>
> Hi, I'm just starting to get familiar with eXist. I have a project ahead
> where i can make good use of an XML database and so I started investigating.
> I want to load a 100.000 xml documents into the store for purpose of
> analysing. when using the ant tasks everything works fine.
> I would like to use Groovy and the AntBuilder to setup my project solution.
> But here the problems start.
> As soon as I start using Groovy and the AntBuilder there is a clash. The
> error message reads:
> ==================================
>    [store] Found 7 files.
>    [store] Storing applicationContext.xml ...
> Caught: : java.lang.LinkageError: Class org/xml/sax/InputSource violates
> loader constraints
>        at exist1.run(exist1.groovy:14)
>        at exist1.main(exist1.groovy)
> ==================================
> eXist has a dependency on xmlrpc-1.2-patched.jar and this is the offending
> guy - as far as I can say. I tried using different versions of xmlrpc, but
> that did not work. I also tried killing the InputSource from the jar - did
> not help either ( it could not find the xmlrpc any longer ).
>
> The working ant build file is:
> -----------------------------------------
> <?xml version="1.0"?>
> <project name="exist" default="x">
>        <path id="classpath.core">
>                <fileset dir="C:/Dokumente und Einstellungen/admin/.groovy/exist">
>                        <include name="*.jar"/>
>                </fileset>
>        </path>
>
>        <typedef resource="org/exist/ant/antlib.xml" uri="http://exist-db.org/ant">
>                <classpath refid="classpath.core"/>
>        </typedef>
>
>        <target name="x">
>                <xdb:store xmlns:xdb="http://exist-db.org/ant"
> uri="xmldb:exist://localhost:8080/exist/xmlrpc/db/rl1"
> createcollection="true">
>                        <fileset
> dir="C:/data/workspace/rloesche/svn-repository/developmentsupport/Technologie/xmls">
>                                <include name="*.xml"/>
>                        </fileset>
>                </xdb:store>
>        </target>
> </project>
> -------------------------------------------------------------------------
>
> the Groovy file that does not work is: ( gives the error messge above )
> -------------------------------------------------------------------------
> // here are the source files to load
> fns
> ='C:/data/workspace/rloesche/svn-repository/developmentsupport/Technologie/xmls'
>
> // here are all the eXist jars
> existpath ='C:/Dokumente und Einstellungen/admin/.groovy/exist'
>
> def ant = new AntBuilder()
> ant.taskdef( name:"store", classname:"org.exist.ant.XMLDBStoreTask"){
>  classpath{
>    fileset(dir:existpath,includes:"*.jar")
>  }
> }
>
> ant.store(uri:"xmldb:exist://localhost:8080/exist/xmlrpc/db/rl1",
> createcollection:"true"){
>  fileset(dir:fns){
>    include( name:"*.xml")
>  }
> }
> ------------------------------------------------------------
>
> mY environemtn is:
>
> -Groovy 1.5.6
> -Windows XP
> -eXist: a current download as of today
> -Java 1.5.0
>
> I really would apreciate any help
>
> regards
>
> ralf
>
>
> --
> View this message in context: http://www.nabble.com/eXist-%2B-Groovy-1.5.6-%2B-xmlrpc-clash-tp18296136p18296136.html
> Sent from the exist-open mailing list archive at Nabble.com.
>
>
> -------------------------------------------------------------------------
> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
> Studies have shown that voting for your favorite open source project,
> along with a healthy diet, reduces your potential for chronic lameness
> and boredom. Vote Now at http://www.sourceforge.net/community/cca08
> _______________________________________________
> Exist-open mailing list
> Exist-open@...
> https://lists.sourceforge.net/lists/listinfo/exist-open
>



--
Adam Retter

eXist Developer
{ England }
adam@...
irc://irc.freenode.net/existdb

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Exist-open mailing list
Exist-open@...
https://lists.sourceforge.net/lists/listinfo/exist-open

Re: eXist + Groovy 1.5.6 + xmlrpc clash

by Wolfgang Meier-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> I think perhaps the first thing to establish would be exactly what is
> xmlrpc-1.2-patched.jar ?

This version of the xmlrpc library has been patched to allow the full
unicode range of characters. The unpatched 1.2 version stripped all
characters > 127, which made it unusable for our purpose. eXist will not
work with an unpatched jar.

I plan to update to a more recent version of the xmlrpc library (they
are now at v3.1) and retest everything, but I had no time for this so far.

Wolfgang

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Exist-open mailing list
Exist-open@...
https://lists.sourceforge.net/lists/listinfo/exist-open

Re: eXist + Groovy 1.5.6 + xmlrpc clash

by Dannes Wessels-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

On Mon, Jul 7, 2008 at 1:18 PM, Adam Retter <adam@...> wrote:
On side note we could
also loose the xerces jar (and probably others) as this is also
shipped in Java 5.

Not completely true; the xerces verson of Java(5,6) is rather old, 2.6.2 or so. The main improvements are regarding schema support and validation etc etc etc. The good thing for us (the devs) is that we have now (by supplying xerces) a defined parser environment. That potentially saves us troubles caused by use of obscure parsers (e.g. non SUN jvms, or Java4 xml parser)

cheers

Dannes

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Exist-open mailing list
Exist-open@...
https://lists.sourceforge.net/lists/listinfo/exist-open

Re: eXist + Groovy 1.5.6 + xmlrpc clash

by rloesche :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks for the answer. For the time being I will work with the ANT version. Do you have a rough idea when you will upgrade ?

Re: eXist + Groovy 1.5.6 + xmlrpc clash

by Jon Gunnip :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

Not sure if this is related to the original issue, but I thought my
experience might help others that see this thread.

I also had an issue with xmlrpc-1.2-patched in trying to run a grails
commands (uses groovy 1.5.6) for web app that uses exist on a linux
server.  The exception I was getting was:

 java.lang.SecurityException: class "org.xml.sax.Attributes"'s signer
information does not match signer information of other classes in the
same package

This was a conflict between the org.xml.sax.* classes in xml-apis.jar
and xmlrpc-1.2-patched.jar.  I was able to resolve this by unjarring
xmlrpc-1.2-patched.jar, removing META-INF to remove the signatures,
and rejarring.  This made the security exceptions go away.

Not sure if my workaround could have other negative consequences, but
my app is running now.

Jon

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Exist-open mailing list
Exist-open@...
https://lists.sourceforge.net/lists/listinfo/exist-open

Re: eXist + Groovy 1.5.6 + xmlrpc clash

by Dannes Wessels-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

On Thu, Jul 31, 2008 at 8:27 PM, Jon Gunnip <jongunnip@...> wrote:
  java.lang.SecurityException: class "org.xml.sax.Attributes"'s signer
information does not match signer information of other classes in the
same package
Not sure if my workaround could have other negative consequences, but
my app is running now.

this is all about signed JAR files. eXist-db is distributed with signed jar files to enable the java webstart client. If you mixup stuff, yups, this can happen. removing the details in the Manifest file is okay. One side note... org.xml.sax.Attributes is not signed by us.....

D.

--
eXist-db Native XML Database
http://exist-db.org

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Exist-open mailing list
Exist-open@...
https://lists.sourceforge.net/lists/listinfo/exist-open
LightInTheBox - Buy quality products at wholesale price