[kepler-dev] [kepler-cvs] kepler/lib/jar/jwsdp xalan.jar xercesImpl.jar

jagan Jagan.Kommineni at infotech.monash.edu.au
Tue Nov 8 15:05:36 PST 2005


Dan,

I am using j2sdk 1.4.2_05 but I am using jwsdp-1.6 for creating web 
service clients. These jars are packaged with jwsdp-1.6.
I am testing by using these jars in my local kepler. GriddLeS actors are 
working without complaining any errors.
I am not sure which are the other actors complaining of error messages 
because these jar files.
At one time I have  removed these  jars to reduce the size of cvs 
repository. 

with regards,

Jagan Kommineni

Dan Higgins wrote:

> Kevin,
>    I have been looking at some of the Sun documentation (see 
> http://java.sun.com/j2se/1.5.0/docs/guide/xml/jaxp/JAXP-Compatibility_150.html) 
> and it looks to me like Sun only changed to using the 
> /com/sun/org/apache/xalan/* packaging in Java 1.5. I have been using 
> 1.4.2 (and I think most developers/users are using 1.4.2 also). Are 
> you using 1.5? If so, this would explain the difference.
>    Also, looking at the Java 1.4.2 run.jar file clearly shows that Sun 
> is using the /org/apache/xalan/* packaging there
>
> Dan
>
>
> Kevin Ruland wrote:
>
>> Dan,
>>
>> Those jars need to be put in lib/jar/jwsdp-1.6/ directory (or whatever
>> it's called) only so they don't physically overwrite the others.
>>
>> There will be no conflict between the apache/xalan.jar and the
>> jwsdp/xalan.jar because the former uses /org/apache/xalan/* packaging
>> and the latter uses /com/sun/org/apache/xalan/* packaging.  No classes
>> looking for the One True xalan will ever accidentially find the classes
>> defined in the jwsdp/xalan.jar.  Similarly, sun changed all the source
>> in their version of xalan.jar to only look for their copies of these
>> classes.  Given these changes, I don't believe that these jars can ever
>> conflict with any other jars.  Of course the best thing to do is test.
>>
>> If indeed there ends up being a problem with the jwsdp/xercesImpl.jar
>> and the other xercesImpl.jars, then the only thing we are left with is
>> to have somebody make an Executive Decision to which actors will be
>> included in Kepler because there is no acceptable solution at this time
>> to support multiple classloaders.
>>
>> I'm surprised you need to endorse xalan on the client side because that
>> is usually only used in more controlled deployment settings (such as
>> servlet, ejb and applet containers).  I do not endorse any jars in my
>> client side executions and it runs just fine.  If indeed the
>> jwsdp/xalan.jar needs to be endorsed, then that directory too would need
>> to be added to the java.endorsed.dirs list.
>>
>> Kevin
>>
>> Dan Higgins wrote:
>>
>>  
>>
>>> Kevin,
>>>   I am not sure that your comment about it being OK to add the jswdp
>>> xercesImpl.jar and xalan.jar to lib/jar is correct. Your note on Sun's
>>> repackaging of xalan, etc. is useful, but I think there is a version
>>> conflict with the version of xalan.jar that is in the
>>> $Kepler/lib/jar/apache/ directory.
>>>
>>>    Note that some time ago we had to use the trick of making that
>>> directory an endorsed directory to force java to use the classes there
>>> prior to system classes (see the '
>>> -Djava.endorsed.dirs=./lib/jar/apache ' added to all the java commands
>>> in the ant build file)  If we don't do this, errors appear in the
>>> apache.axis package (see below).[I must admit, I don't understand why
>>> this happens.]
>>>
>>>    In addition, I think that Jagan had put the jswdp jars into Kepler
>>> before and it did indeed 'break' some other code.
>>>
>>> Dan
>>>
>>> ---- errors when -Djava.endorsed.dirs=./lib/jar/apache omitted
>>>     [java] EcogridUtils: The time to create factory is ============= 1
>>>     [java] - Logging is working
>>>     [java] - Date: Tue Nov 08 12:56:57 PST 2005
>>>     [java] - Version: Apache-XML-Security-J 1.0.4
>>>     [java] java.lang.IllegalAccessError: tried to access field
>>> org.apache.xpath
>>> .compiler.FunctionTable.m_functions from class
>>> org.apache.xml.security.Init
>>>     [java]     at org.apache.xml.security.Init.init(Unknown Source)
>>>     [java]     at
>>> org.globus.ogsa.impl.security.authentication.wssec.WSSecurity
>>> Engine.<clinit>(WSSecurityEngine.java:55)
>>>     [java]     at
>>> org.globus.ogsa.impl.security.authentication.wssec.WSSecurity
>>> ClientHandler.handleResponse(WSSecurityClientHandler.java:51)
>>>     [java]     at
>>> org.apache.axis.handlers.HandlerChainImpl.handleResponse(Hand
>>> lerChainImpl.java:153)
>>>     [java]     at
>>> org.apache.axis.handlers.JAXRPCHandler.invoke(JAXRPCHandler.j
>>> ava:84)
>>>     [java]     at
>>> org.globus.ogsa.utils.JAXRPCHandler.invoke(JAXRPCHandler.java
>>> :16)
>>>     [java]     at
>>> org.apache.axis.strategies.InvocationStrategy.visit(Invocatio
>>> nStrategy.java:71)
>>>     [java]     at
>>> org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
>>>     [java]     at
>>> org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
>>>     [java]     at
>>> org.apache.axis.client.AxisClient.invoke(AxisClient.java:193)
>>>
>>>     [java]     at
>>> org.apache.axis.client.Call.invokeEngine(Call.java:2564)
>>>     [java]     at org.apache.axis.client.Call.invoke(Call.java:2553)
>>>     [java]     at org.apache.axis.client.Call.invoke(Call.java:2248)
>>>     [java]     at org.apache.axis.client.Call.invoke(Call.java:2171)
>>>     [java]     at org.apache.axis.client.Call.invoke(Call.java:1691)
>>>     [java]     at
>>> org.gridforum.ogsi.bindings.FactorySOAPBindingStub.createServ
>>> ice(FactorySOAPBindingStub.java:773)
>>>     [java]     at
>>> org.globus.ogsa.utils.GridServiceFactory.createService(GridSe
>>> rviceFactory.java:136)
>>>     [java]     at
>>> org.globus.ogsa.utils.GridServiceFactory.createService(GridSe
>>> rviceFactory.java:49)
>>>     [java]     at
>>> org.ecoinformatics.ecogrid.client.EcogridFactoryQueryClient.<
>>> init>(EcogridFactoryQueryClient.java:81)
>>>     [java]     at
>>> org.ecoinformatics.seek.datasource.EcogridQueryDataCacheItem.
>>> doWork(EcogridQueryDataCacheItem.java:108)
>>>     [java]     at
>>> org.kepler.objectmanager.cache.DataCacheObject.run(DataCacheO
>>> bject.java:782)
>>>     [java]     at java.lang.Thread.run(Thread.java:534)
>>>
>>> Kevin Ruland wrote:
>>>
>>>   
>>>
>>>> Jagan,
>>>>
>>>> The jwsdp xercesImpl.jar and xalan.jar have been repackaged by sun. 
>>>> Every class is packaged in com.sun.org.apache.*.  This means that 
>>>> those
>>>> classes cannot conflict with standard distributions of xercesImpl.jar
>>>> and xalan.jar.  This is both good and bad.  It's good (for us) because
>>>> it means they can be included with standard versions of these jars
>>>> without conflict.  It's bad because it ends up causing code bloat.  
>>>> For
>>>> the life of me I don't understand why sun insists on doing this.
>>>>
>>>> You can commit them to the lib/jar/jwsdp and rest assured that these
>>>> copies do not conflict with the three other versions of xercesImpl.jar
>>>> or the other version of xalan.jar which are already in the repository.
>>>>
>>>> Chad,
>>>>
>>>> I have put the build system changes on hold until we can figure out a
>>>> way out of this mess.  The current kar system does not provide any
>>>> mechanism to provide for multiple implementations of the same
>>>> package/class.  There are not changes we can make to the build 
>>>> system to
>>>> provide this without corresponding changes to the Kepler classloading
>>>> dilemma.  About all we can do, right now, is remove the duplicated 
>>>> jars,
>>>> build/test/test/test, and be very strict about changing jars in the
>>>> repository.
>>>>
>>>> Kevin
>>>>
>>>> Chad Berkley wrote:
>>>>
>>>>
>>>>
>>>>     
>>>>
>>>>> Hi Jagan,
>>>>>
>>>>> I don't know if i can tell you that because I'm not sure we know. 
>>>>> There's an ongoing discussion about what to do with conflicting 
>>>>> jars. One option is using the dynamic class loading that we've 
>>>>> been talking about with kar files, but it doesn't look like that's 
>>>>> going to get implemented at this point.  Kevin has also been 
>>>>> working on redesigning the build system.  I'm not sure where he is 
>>>>> on that.
>>>>>
>>>>> Sorry I'm not more help.
>>>>>
>>>>> chad
>>>>>
>>>>> jagan wrote:
>>>>>
>>>>>
>>>>>  
>>>>>       
>>>>>
>>>>>> Hello Chad and Matt,
>>>>>>
>>>>>> Some of the GriddLeS actors are using Sun's jar files released 
>>>>>> with jwsdp-1.6 which I need to add to cvs repository.
>>>>>> But I am bit concern that it may affect other actors.  Could you 
>>>>>> mind to tell me how to add jar files specific to GriddLeS actors?
>>>>>>
>>>>>> with regards,
>>>>>>
>>>>>> Jagan Kommineni
>>>>>>
>>>>>>
>>>>>> Matt Jones wrote:
>>>>>>
>>>>>>  
>>>>>>
>>>>>>    
>>>>>>         
>>>>>>
>>>>>>> Jagan,
>>>>>>>
>>>>>>> We are in the process of trying to reduce the central jars 
>>>>>>> stored in
>>>>>>> Kepler because it is such a huge mess.  The KAR file format now 
>>>>>>> allows
>>>>>>> you to include jar files required by an actor in a .kar file for 
>>>>>>> that
>>>>>>> actor and list it in the actor's dependencies.  I think there 
>>>>>>> are still
>>>>>>> a few issues to work out about how to handle the build with the KAR
>>>>>>> system, but the basic infrastructure should work.  So I would 
>>>>>>> recommend
>>>>>>> that you work with Chad to get your Griddles actors built as a 
>>>>>>> .kar with
>>>>>>> their own specific jar dependencies.
>>>>>>>
>>>>>>> Over the next short while I will be pushing for us to clean out 
>>>>>>> the jar
>>>>>>> files from the central kepler lib dir and start including there 
>>>>>>> only
>>>>>>> things that are part of the core kepler framework.  Actor-specific
>>>>>>> dependencies would be resolved via the KAR system.
>>>>>>>
>>>>>>> Your thoughts on this approach would be appareciated.
>>>>>>>
>>>>>>> Matt
>>>>>>>
>>>>>>> jagan wrote:
>>>>>>>
>>>>>>>
>>>>>>>   
>>>>>>>      
>>>>>>>           
>>>>>>>
>>>>>>>> Hi Dan,
>>>>>>>>
>>>>>>>> My code is using sun's latest jwsdp which includes certificate 
>>>>>>>> based
>>>>>>>> security module.
>>>>>>>> If I add those two jar files in kepler/lib/jar/jwsdp directory 
>>>>>>>> griddles
>>>>>>>> actors are able to pickup the right jar.
>>>>>>>> I have looked at the directory structure of the xalan.jar and 
>>>>>>>> xercesImpl.jar of jwsdp and was different to
>>>>>>>> the directory structure of the old ones. Is there any 
>>>>>>>> possibility if I
>>>>>>>> add these jar files at the end so that
>>>>>>>> it won't affect other peoples code and griddles actors can get the
>>>>>>>> access to these jar files.
>>>>>>>>
>>>>>>>> with regards,
>>>>>>>>
>>>>>>>> Jagan Kommineni
>>>>>>>>
>>>>>>>>
>>>>>>>> Dan Higgins wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>     
>>>>>>>>        
>>>>>>>>             
>>>>>>>>
>>>>>>>>> Hi Jagan,
>>>>>>>>> I suspect that we have some sort of versioning problem.
>>>>>>>>>
>>>>>>>>> Kepler does include the xercesImpl.jar and xalan.jar files.
>>>>>>>>> xercesImpl.jar is in kepler\lib\jar\sms and xalan.jar is in
>>>>>>>>> kepler\lib\jar\apache. And these jars are showing up in the 
>>>>>>>>> kepler
>>>>>>>>> class path.
>>>>>>>>>
>>>>>>>>> The class DocumentBuilderFactoryImpl is in the xercesImpl.jar 
>>>>>>>>> file,
>>>>>>>>> but its path is "org/apache/xerces/jaxp/". Note that the first 2
>>>>>>>>> elements of the path in your error message (I.e. "com/sun/") are
>>>>>>>>> missing! That is apparently why you are getting the error. But 
>>>>>>>>> I don't
>>>>>>>>> know why your code is looking for a sun specific version of this
>>>>>>>>> class! (Something about the SecurityPluginUtil class?)
>>>>>>>>>
>>>>>>>>> The versions of xercesImpl.jar and xalan.jar files that are
>>>>>>>>> included with kepler were needed for some other parts of 
>>>>>>>>> kepler and
>>>>>>>>> (if I remember correctly) are version-dependent, so we may have a
>>>>>>>>> problem with replacing the current versions.
>>>>>>>>>
>>>>>>>>> Dan Higgins
>>>>>>>>>
>>>>>>>>> jagan wrote:
>>>>>>>>>
>>>>>>>>>  
>>>>>>>>>       
>>>>>>>>>          
>>>>>>>>>               
>>>>>>>>>
>>>>>>>>>> Hello Matt,
>>>>>>>>>>
>>>>>>>>>> I have removed xalan.jar and xercesImpl.jar files from the cvs
>>>>>>>>>> repository.
>>>>>>>>>> You are correct these files are already there but kepler runtime
>>>>>>>>>> environment  is complaining when I try to run  griddles 
>>>>>>>>>> actors from
>>>>>>>>>> kepler  which  needs  some of the classes from these jar files.
>>>>>>>>>> The error message is as follows, I suspect the kepler runtime 
>>>>>>>>>> is not
>>>>>>>>>> able to load
>>>>>>>>>> xalan and xerces from other directory. Could you mind to advise?
>>>>>>>>>> ------------------------------------------------------------------------------------------------------------- 
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> java.lang.NoClassDefFoundError:
>>>>>>>>>> com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl 
>>>>>>>>>>
>>>>>>>>>> at
>>>>>>>>>> com.sun.xml.rpc.security.SecurityPluginUtil.<init>(SecurityPluginUtil.java:128) 
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> at
>>>>>>>>>> org.monash.griddles.jobrun.JobrunIF_Stub.<clinit>(JobrunIF_Stub.java:41) 
>>>>>>>>>>
>>>>>>>>>> at
>>>>>>>>>> org.monash.griddles.jobrun.MyJobrun_Impl.getJobrunIFPort(MyJobrun_Impl.java:59) 
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> at
>>>>>>>>>> org.monash.griddles.GriddlesRemoteExec.createProxy(GriddlesRemoteExec.java:132) 
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> at
>>>>>>>>>> org.monash.griddles.GriddlesRemoteExec.fire(GriddlesRemoteExec.java:148) 
>>>>>>>>>>
>>>>>>>>>> at 
>>>>>>>>>> ptolemy.actor.process.ProcessThread.run(ProcessThread.java:178)
>>>>>>>>>> -------------------------------------------------------------------------------------------------------------- 
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> with regards,
>>>>>>>>>>
>>>>>>>>>> Jagan Kommineni
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Matt Jones wrote:
>>>>>>>>>>
>>>>>>>>>>    
>>>>>>>>>>         
>>>>>>>>>>            
>>>>>>>>>>                 
>>>>>>>>>>
>>>>>>>>>>> Jagan,
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> These jar files are incredibly basic.  I am positive there 
>>>>>>>>>>> are already
>>>>>>>>>>> copies of both xalan and xerces in the classpath of Kepler 
>>>>>>>>>>> -- I have
>>>>>>>>>>> used both in some of my actors.  Adding your new copies will
>>>>>>>>>>> undoubtedly
>>>>>>>>>>> break something.  Could you please remove them?  Thanks.
>>>>>>>>>>>
>>>>>>>>>>> Matt
>>>>>>>>>>>
>>>>>>>>>>> Jagan Kommineni wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>      
>>>>>>>>>>>           
>>>>>>>>>>>              
>>>>>>>>>>>                   
>>>>>>>>>>>
>>>>>>>>>>>> kommineni    05/10/04 16:47:35
>>>>>>>>>>>>
>>>>>>>>>>>> Added:       lib/jar/jwsdp xalan.jar xercesImpl.jar
>>>>>>>>>>>> Log:
>>>>>>>>>>>> Two jars files are added as jwsdp needs these jar files for
>>>>>>>>>>>> executing Griddles actors .....
>>>>>>>>>>>>
>>>>>>>>>>>> Revision  Changes    Path
>>>>>>>>>>>> 1.3       +0 -0      kepler/lib/jar/jwsdp/xalan.jar
>>>>>>>>>>>>
>>>>>>>>>>>>  <<Binary file>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 1.3       +0 -0      kepler/lib/jar/jwsdp/xercesImpl.jar
>>>>>>>>>>>>
>>>>>>>>>>>>  <<Binary file>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Kepler-cvs mailing list
>>>>>>>>>>>> Kepler-cvs at ecoinformatics.org
>>>>>>>>>>>> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-cvs 
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>        
>>>>>>>>>>>>             
>>>>>>>>>>>>                
>>>>>>>>>>>>                     
>>>>>>>>>>>
>>>>>>>>>>>      
>>>>>>>>>>>           
>>>>>>>>>>>              
>>>>>>>>>>>                   
>>>>>>>>>>
>>>>>>>>>> ------------------------------------------------------------------------ 
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Kepler-dev mailing list
>>>>>>>>>> Kepler-dev at ecoinformatics.org
>>>>>>>>>> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev 
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>    
>>>>>>>>>>         
>>>>>>>>>>            
>>>>>>>>>>                 
>>>>>>>>>
>>>>>>>>>  
>>>>>>>>>       
>>>>>>>>>          
>>>>>>>>>               
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>     
>>>>>>>>        
>>>>>>>>             
>>>>>>>
>>>>>>>   
>>>>>>>      
>>>>>>>           
>>>>>>
>>>>> _______________________________________________
>>>>> Kepler-dev mailing list
>>>>> Kepler-dev at ecoinformatics.org
>>>>> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev 
>>>>>
>>>>>
>>>>>
>>>>>  
>>>>>       
>>>>
>>>> _______________________________________________
>>>> Kepler-dev mailing list
>>>> Kepler-dev at ecoinformatics.org
>>>> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev 
>>>>
>>>>
>>>>
>>>>     
>>>
>>> -- 
>>> *******************************************************************
>>> Dan Higgins                                  higgins at nceas.ucsb.edu
>>> http://www.nceas.ucsb.edu/    Ph: 805-893-5127
>>> National Center for Ecological Analysis and Synthesis (NCEAS) Marine 
>>> Science Building - Room 3405
>>> Santa Barbara, CA 93195
>>> *******************************************************************
>>>
>>>   
>>
>
>




More information about the Kepler-dev mailing list