Using Marshalling.getProvidedMarshallerFactory() sounds like a better
solution. Let me create a JIRA issue and send a pull request soon.
On 06/01/2011 01:47 AM, David M. Lloyd wrote:
Easiest solution is:
Marshalling.getProvidedMarshallerFactory("river");
This will always use the JBMAR class loader. Otherwise you would have
to make sure that the module from which you load the "river" protocol
imports the river module like this:
<dependencies>
...
<module name="org.jboss.marshalling.river"
services="import"/>
...
</dependencies>
... and then use your own class loader.
On 05/31/2011 10:13 AM, Galder Zamarreño wrote:
> The marshaller is a global component, so it'd have to be at the
GlobalConfiguration.
>
> Let's bounce some ideas tomorrow on IRC.
>
> On May 31, 2011, at 5:07 PM, 이희승 (Trustin Lee) wrote:
>
>> The problem is that the marshaller lookup code exists in Infinispan
>> unlike other subsystems. We need to make it configurable. Where would
>> be the best place to expose the property in Infinispan? For
>> EmbeddedCachaManager, it is so simple because we have Configuration and
>> GlobalConfiguration, but I'm not sure about the others.
>>
>> On 05/31/2011 11:38 PM, Galder Zamarreño wrote:
>>> In fact, a quick grep on AS7 shows:
>>>
>>>
./host-controller/src/main/java/org/jboss/as/host/controller/ManagedServer.java:
MARSHALLER_FACTORY = Marshalling.getMarshallerFactory("river",
Module.getModuleFromCallerModuleLoader(ModuleIdentifier.fromString("org.jboss.marshalling.river")).getClassLoader());
>>> ./protocol/src/main/java/org/jboss/as/protocol/ProtocolUtils.java:
MARSHALLER_FACTORY = Marshalling.getMarshallerFactory("river",
ProtocolUtils.class.getClassLoader());
>>> ./server/src/main/java/org/jboss/as/server/DomainServerMain.java:
final MarshallerFactory factory = Marshalling.getMarshallerFactory("river",
DomainServerMain.class.getClassLoader());
>>>
>>> We might need different mechanisms depending on the env.
>>>
>>> On May 31, 2011, at 11:28 AM, Galder Zamarreño wrote:
>>>
>>>> They're in diff jars and most likely in different JBoss Modules.
>>>>
>>>> Trustin, AS7 uses JBoss Marshalling, so maybe have a look in their code
to see how they instantiate the marshaller factory - that might give you the clues here
:)
>>>>
>>>> Cheers,
>>>>
>>>> On May 31, 2011, at 10:20 AM, Dan Berindei wrote:
>>>>
>>>>> We don't use the TCCL to load the MarshallerFactory:
>>>>>
>>>>> factory = Marshalling.getMarshallerFactory("river",
>>>>> Marshalling.class.getClassLoader());
>>>>>
>>>>> Maybe the Marshalling class and the RiverMarshallerFactory classes
are
>>>>> in different modules?
>>>>>
>>>>> Dan
>>>>>
>>>>>
>>>>> On Tue, May 31, 2011 at 10:14 AM, "이희승 (Trustin
Lee)"<trustin(a)gmail.com> wrote:
>>>>>> Hi folks,
>>>>>>
>>>>>> I'm trying to run Infinispan under AS 7 (i.e. JBoss Modules).
I
>>>>>> succeeded to run an EmbeddedCacheManager, HotRodServer, and
>>>>>> MemcachedServer. However, it fails when a new node joins the
cluser:
>>>>>>
>>>>>>
http://pastebin.com/pGfxSWJP
>>>>>>
>>>>>> The root cause of the failure is that GenericJBossMarshaller
fails to
>>>>>> find the RiverMarshallerFactory. So, I set the TCCL, but it
didn't help
>>>>>> at all. Even setting the TCCL to
>>>>>> RiverMarshallerFactory.class.getClassLoader() doesn't seem to
help. Any
>>>>>> clues?
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> --
>>>>>> Trustin Lee,
http://gleamynode.net/
>>>>>> _______________________________________________
>>>>>> infinispan-dev mailing list
>>>>>> infinispan-dev(a)lists.jboss.org
>>>>>>
https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> infinispan-dev mailing list
>>>>> infinispan-dev(a)lists.jboss.org
>>>>>
https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>>
>>>> --
>>>> Galder Zamarreño
>>>> Sr. Software Engineer
>>>> Infinispan, JBoss Cache
>>>>
>>>>
>>>> _______________________________________________
>>>> infinispan-dev mailing list
>>>> infinispan-dev(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>
>>> --
>>> Galder Zamarreño
>>> Sr. Software Engineer
>>> Infinispan, JBoss Cache
>>>
>>>
>>> _______________________________________________
>>> infinispan-dev mailing list
>>> infinispan-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>
>>
>> --
>> Trustin Lee,
http://gleamynode.net/
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/infinispan-dev
>
> --
> Galder Zamarreño
> Sr. Software Engineer
> Infinispan, JBoss Cache
>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/infinispan-dev