L.S.,

Yeah, either one of those solutions would obviously be a lot better, the
dev:dynamic-import is just a workaround or a way to test if adding more
imports to a bundle solves the problem.

However, wouldn't it be better if we could solve that in the components
themselves, e.g. if we add a 'Require-Bundle' for the shared library JARs to
all of our own components?  I know that this is not being recommended
usually, but in our case, I don't think we support the use of multiple
versions of the same JBI component anyway and it would ease the transition
from ServiceMix 3 to ServiceMix 4 somewhat.


Wdyt?

Gert Vanthienen
------------------------
FuseSource
Web: http://fusesource.com
Blog: http://gertvanthienen.blogspot.com/


On Thu, Oct 27, 2011 at 3:10 AM, Freeman Fang <[email protected]>wrote:

> Hi,
>
> Besides the Dynamic-Import way Gert mentioned here, I think Servicemix also
> provide another solution.
> I believe you're using JBI packaging in OSGi container, right?
> If so,  you can specify a classpath for your xbean.xml to refer classes
> from other OSGi bundles, you needn't add dependency in your pom.xml or use
> provided scope for this dependency(otherwise it will add dependency jar into
> your SA, which can cause ClassCastException as you encounter, as those
> dependencies already available in OSGi container).
> Take a look at[1], the "New in Servicemix 4.2.0" part,  I think you just
> need add
> <classpath>
>  <library>osgi:servicemix-**soap2</library>
> </classpath>
> to your xbean.xml
>
> This is a common issue when you use JBI pakcaging for SA, but if you use
> OSGi packaging, you won't see such issue, that's why we encourage to use
> OSGi packaging for OSGi container.
> We have cxf-wsdl-first-osgi-package(**for OSGi packaging) and
> cxf-wsdl-first(for JBI packaging) examples shipped with SMX 4.x kit, which
> can demonstrate what's difference between two packaging.
>
> [1]http://servicemix.apache.**org/classloaders.html<http://servicemix.apache.org/classloaders.html>
> Freeman
>
> On 2011-10-27, at 上午5:00, Stefan Essl wrote:
>
>  Hi Gert,
>>
>> thanks, this worked!
>>
>> Please let me know if you need some more information on this issue!
>>
>> Thanks,
>> Stefan
>>
>>
>> Am 26.10.2011 um 22:41 schrieb Gert Vanthienen:
>>
>>  Stefan,
>>>
>>> No problem, sorry for not being more clear. It is a command you can enter
>>> in
>>> the servicemix console - out takes one parameter, the bundle id for the
>>> servicemix camel bundle.
>>>
>>> Regards,
>>>
>>> Gert
>>> On Oct 26, 2011 10:20 PM, "Stefan Essl" <
>>> [email protected]**stuttgart.de<[email protected]>>
>>> wrote:
>>>
>>>  Hi Gert,
>>>>
>>>> sorry, but what's a dev:dynamic-import? I'm not that deep into SMX just
>>>> yet...
>>>>
>>>> Thanks,
>>>> Stefan
>>>>
>>>>
>>>> Am 26.10.2011 um 22:17 schrieb Gert Vanthienen:
>>>>
>>>>  Stefan,
>>>>>
>>>>> Just quickly glanced over the code and I'm beginning to suspect that
>>>>> the
>>>>> OSGi metadata for our JBI components might be the problem here.  I'll
>>>>>
>>>> take a
>>>>
>>>>> better look in the morning, but if my guess is right, doing a
>>>>> dev:dynamic-import on the ServiceMix camel bundle will avoid the issue,
>>>>>
>>>> even
>>>>
>>>>> with the original SA you were using.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Gert
>>>>> On Oct 26, 2011 9:35 PM, "Stefan Essl" <
>>>>> [email protected]**stuttgart.de<[email protected]>>
>>>>> wrote:
>>>>>
>>>>>  Hi Gert,
>>>>>>
>>>>>> I'm running SMX 4.3.0 with the default servicemix-camel component.
>>>>>>
>>>>>> If I add servicemix-shared, I get:
>>>>>> java.lang.**ClassNotFoundException:
>>>>>> org.apache.servicemix.soap.**util.stax.StaxSource in classloader
>>>>>> org.apache.xbean.spring.**context.**FileSystemXmlApplicationContex**t
>>>>>>
>>>>>> Thanks,
>>>>>> Stefan
>>>>>>
>>>>>>
>>>>>> Am 26.10.2011 um 21:28 schrieb Gert Vanthienen:
>>>>>>
>>>>>>  Stefan,
>>>>>>>
>>>>>>>
>>>>>>> And what happens if you add servicemix-shared as a dependency
>>>>>>> instead?
>>>>>>> Anyway, the new exception is because you now have two instances of
>>>>>>> the
>>>>>>>
>>>>>> same
>>>>>>
>>>>>>> class active - one that's living inside the SA and another one in the
>>>>>>>
>>>>>> shared
>>>>>>
>>>>>>> library, so that's why you get this odd-looking exception.
>>>>>>>
>>>>>>> One more question: what version of ServiceMix are you using?  If
>>>>>>> these
>>>>>>>
>>>>>> is
>>>>
>>>>> just the default servicemix-camel component and a normal SU/SA, you
>>>>>>> definitely shouldn't bump into this thing so we should try to figure
>>>>>>>
>>>>>> out
>>>>
>>>>> what's wrong here to get it fixed.
>>>>>>>
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> Gert Vanthienen
>>>>>>> ------------------------
>>>>>>> FuseSource
>>>>>>> Web: http://fusesource.com
>>>>>>> Blog: 
>>>>>>> http://gertvanthienen.**blogspot.com/<http://gertvanthienen.blogspot.com/>
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Oct 26, 2011 at 9:10 PM, Stefan Essl <
>>>>>>> [email protected]**stuttgart.de<[email protected]>>
>>>>>>> wrote:
>>>>>>>
>>>>>>>  Hi Gert,
>>>>>>>>
>>>>>>>> I get this within a servicemix-camel SU. If I add servicemix-soap2
>>>>>>>> to
>>>>>>>>
>>>>>>> the
>>>>>>
>>>>>>> maven dependencies, the SA deploys fine, but I get a really weird
>>>>>>>>
>>>>>>> error
>>>>
>>>>> on
>>>>>>
>>>>>>> execution:
>>>>>>>>
>>>>>>>> java.lang.ClassCastException:
>>>>>>>> org.apache.servicemix.soap.**util.stax.StaxSource cannot be cast to
>>>>>>>> org.apache.servicemix.soap.**util.stax.StaxSource
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Stefan
>>>>>>>>
>>>>>>>>
>>>>>>>> Am 26.10.2011 um 20:34 schrieb Gert Vanthienen:
>>>>>>>>
>>>>>>>>  Stefan,
>>>>>>>>>
>>>>>>>>> What JBI component is the SU that causes the exception using?  This
>>>>>>>>>
>>>>>>>> class
>>>>>>
>>>>>>> should be part of the default servicemix-shared shared library (it's
>>>>>>>>>
>>>>>>>> part
>>>>>>
>>>>>>> of
>>>>>>>>
>>>>>>>>> servicemix-soap2 to be exact) that contains the code that's being
>>>>>>>>>
>>>>>>>> used
>>>>
>>>>> by
>>>>>>
>>>>>>> all JBI components so you shouldn't really bump into this by using
>>>>>>>>>
>>>>>>>> just
>>>>
>>>>> the
>>>>>>>>
>>>>>>>>> standard JBI components.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>>
>>>>>>>>> Gert Vanthienen
>>>>>>>>> ------------------------
>>>>>>>>> FuseSource
>>>>>>>>> Web: http://fusesource.com
>>>>>>>>> Blog: 
>>>>>>>>> http://gertvanthienen.**blogspot.com/<http://gertvanthienen.blogspot.com/>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Oct 26, 2011 at 7:46 PM, Stefan Essl <
>>>>>>>>> [email protected]**stuttgart.de<[email protected]>>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>  Hi everybody,
>>>>>>>>>>
>>>>>>>>>> if I try to deploy my SA, I get the error:
>>>>>>>>>> java.lang.**ClassNotFoundException:
>>>>>>>>>> org.apache.servicemix.soap.**util.stax.StaxSource
>>>>>>>>>>
>>>>>>>>>> I guess I'm missing some maven dependencies, but I can't work out
>>>>>>>>>>
>>>>>>>>> which
>>>>>>
>>>>>>> one...
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Stefan
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>
> ------------------------------**---------------
> Freeman Fang
>
> FuseSource
> Email:[email protected]
> Web: fusesource.com
> Twitter: freemanfang
> Blog: http://freemanfang.blogspot.**com <http://freemanfang.blogspot.com>
>
>
>
>
>
>
>
>
>
>

Reply via email to