BTW,
package of Constanttest.class is com.test.util only.

Barath.


Barath wrote:
> 
> Hi,
> 
> I just tried a sample by including a jar in my-sl and in myendpoint
> checking whether i can access it or not.
> 
> I am getting this error,
> 
> inside http component : below is from shared lib class
> response : i am in shared lib by constanttest
> ERROR - SedaQueue                      -
> org.apache.servicemix.jbi.nmr.flow.seda
> [EMAIL PROTECTED] got error processing InOut[
>   id: ID:172.16.5.11-1183aa41d4e-21:0
>   status: Active
>   role: provider
>   service: {http://test.http}http
>   endpoint: httpendpoint
>   in: null
> ]
> java.lang.NoClassDefFoundError: com/test/util/Constanttest
>         at com.test.http.MyEndpoint.handleParameters(MyEndpoint.java:1
> 72)
>         at com.test.http.MyEndpoint.process(MyEndpoint.java:122)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
> feCycle.java:538)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
> BaseLifeCycle.java:490)
>         at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
> Cycle.java:46)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
> d(DeliveryChannelImpl.java:610)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
> w.java:170)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
> ava:167)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
> a:134)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
> utor.java:885)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
> .java:907)
>         at java.lang.Thread.run(Thread.java:619)
> 
> 
> FYR
> 
> The class inside shared-lib
> 
> package comm.teis1.util1;
> 
> public class Constanttest 
> {     
>       public static final String RESPONSE = "i am in shared lib by
> constanttest"; 
>       private String name = "i am contanttest";
>       static
>       {
>               System.out.println("hi ,i am static");
>       }
>       public Constanttest()
>       {
>         System.out.println("hi , i am constructor of constanttest");
>       }
>       public String getName()
>       {
>               System.out.println("hi , inside getName method in 
> constanttest");
>               return this.name;
>       }
> }
> 
> method inside myendpoint
> 
> private NormalizedMessage handleParameters(NormalizedMessage in) throws
> Exception
>       {               
>       System.out.println("inside http component : below is from shared lib
> class");
>       System.out.println("response : "+Constanttest.RESPONSE);
>       Constanttest test = new Constanttest();
>       System.out.println("name : "+test.getName());
>       System.out.println("inside http component : above is from shared lib
> class");
> }
> 
> 
> MyEndpoint class : Line No 171 : Constanttest test = new Constanttest();  
> MyEndpoint class : Line No 122 : I called
> handleParameters(NormalizedMessage) method from process method.
> 
> 1 . i am unable to instantiate class which is located inside shared lib ,
> why?
> 2 . static { } is not invoked , why?
> 
> Barath.
> 
> 
> 
> gnodet wrote:
>> 
>> First, check that the shared library references the jar in its jbi.xml.
>> Only jars referenced in this file will be included in the classpath.
>> Do you have the full stack trace of your exception ? it may help.
>> 
>> On Wed, Feb 20, 2008 at 3:33 PM, Barath <[EMAIL PROTECTED]> wrote:
>>>
>>>  Hi,
>>>
>>>  That issue is solved by giving the name that in jbi.xml. (ie my-sl)
>>>
>>>  Now,
>>>
>>>  My component on loading uses one of the class in my jar file which is
>>> inside
>>>  shared lib.
>>>  But i am getting class not found exception.(but that class is present
>>> inside
>>>  the jar file)
>>>
>>>  How to find that classes or jar in the shared lib is loaded ?
>>>
>>>  Barath.
>>>
>>>
>>>
>>>
>>>  Barath wrote:
>>>  >
>>>  > Hi ,
>>>  > Thank you.
>>>  >
>>>  > I created a shared lib my-sl  and gave dependency for myjarfile.jar.
>>>  > my-sl-1.0-SNAPSHOT.zip contains myjarfile.jar file in lib folder.
>>>  >
>>>  > In my component's xbean i included this xml tag
>>>  >
>>>  > <classpath>
>>>  >   <library>my-sl-1.0-SNAPSHOT</library>
>>>  > </classpath>
>>>  >
>>>  > 1 . I copied the my-sl-1.0-SNAPSHOT.zip to hot deploy.
>>>  > 2 . But when i deploy the SA in smx 3.2 its giving the following
>>> error ,
>>>  >
>>>  >
>>>  > <loc-message>org.springframework.beans.f
>>>  > actory.BeanDefinitionStoreException: Unexpected exception parsing XML
>>>  > document f
>>>  > rom file
>>>  > [C:\apache-servicemix-3.2\data\smx\service-assemblies\my-sa\version_1
>>>  > \sus\my-comp\my-comp-su\xbean.xml]; nested exception is
>>>  > java.lang.IllegalSta
>>>  > teException: No such shared library: my-sl-1.0-SNAPSHOT</loc-message
>>>  >>
>>>  >
>>>  > Query :
>>>  >
>>>  > 1 . What i should include in <library> tag.(shared lib name or my jar
>>> file
>>>  > name. i tried both even with the file extension too). ?
>>>  > 2 . Can i use this in smx 3.1.2 ?
>>>  >
>>>  > Barath.
>>>  >
>>>  >
>>>  >
>>>  >
>>>  > gnodet wrote:
>>>  >>
>>>  >> In the last sentence I meant "to reference the SL (shared library)
>>>  >> from the SUs".
>>>  >>
>>>  >> On Wed, Feb 20, 2008 at 11:36 AM, Guillaume Nodet <[EMAIL PROTECTED]>
>>>  >> wrote:
>>>  >>> Not really, this is unfortunately a limitation of the JBI
>>> specification.
>>>  >>>  The easiest solution is to embed your jar into your 3 SUs.
>>>  >>>  However, ServiceMix can allow to work around the problem if you
>>> create
>>>  >>>  a shared library (which is a JBI artifact embedding a collection
>>> of
>>>  >>> jars) and if
>>>  >>>  you add the needed entries in the SU xbean.xml (see bottom of
>>>  >>>  http://servicemix.apache.org/classloaders.html) to reference the
>>> SA
>>>  >>>  from the SUs.
>>>  >>>
>>>  >>>
>>>  >>>
>>>  >>>  On Wed, Feb 20, 2008 at 10:35 AM, Barath <[EMAIL PROTECTED]>
>>> wrote:
>>>  >>>  >
>>>  >>>  >  Hi,
>>>  >>>  >  I have a Service Assembly with 3 Service - Units.
>>>  >>>  >
>>>  >>>  >  All 3 SUs require a set of common classes and I would like to
>>> keep
>>>  >>> the SA
>>>  >>>  >  self-contained.
>>>  >>>  >
>>>  >>>  >  Is there any way I can jar the common classes and add them to
>>> the
>>>  >>> SA,
>>>  >>>  >  something like a dependency.
>>>  >>>  >  I am assuming the structure to be something like
>>>  >>>  >
>>>  >>>  >  Service Assembly
>>>  >>>  >    - SU1
>>>  >>>  >    - SU2
>>>  >>>  >    - SU3
>>>  >>>  >    - common.jar
>>>  >>>  >
>>>  >>>  >  Is this possible?
>>>  >>>  >
>>>  >>>  >  Thanks for the reply,
>>>  >>>  >  Barath
>>>  >>>  >  --
>>>  >>>  >  View this message in context:
>>>  >>>
>>> http://www.nabble.com/Common-jars-for-a-Service---Assembly-tp15585373s12049p15585373.html
>>>  >>>  >  Sent from the ServiceMix - User mailing list archive at
>>> Nabble.com.
>>>  >>>  >
>>>  >>>  >
>>>  >>>
>>>  >>>
>>>  >>>
>>>  >>>  --
>>>  >>>  Cheers,
>>>  >>>  Guillaume Nodet
>>>  >>>  ------------------------
>>>  >>>  Blog: http://gnodet.blogspot.com/
>>>  >>>
>>>  >>
>>>  >>
>>>  >>
>>>  >> --
>>>  >> Cheers,
>>>  >> Guillaume Nodet
>>>  >> ------------------------
>>>  >> Blog: http://gnodet.blogspot.com/
>>>  >>
>>>  >>
>>>  >
>>>  >
>>>
>>>  --
>>>  View this message in context:
>>> http://www.nabble.com/Common-jars-for-a-Service---Assembly-tp15585373s12049p15590247.html
>>>
>>>
>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>
>>>
>> 
>> 
>> 
>> -- 
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Common-jars-for-a-Service---Assembly-tp15585373s12049p15605798.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to