hivemind-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Johan Lindquist <jo...@kawoo.co.uk>
Subject Re: Classloaders and Registry
Date Tue, 09 Aug 2005 14:41:10 GMT
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Out of interest, does your unit tests use hivemind as well?

Johan

James Carman wrote:
> How are you getting these two different classloaders?  Can you try
> printing out the classloaders at each point (registry creation and when
> you ask for the service) so that we can verify that you are actually
> using the exact same one (print out there ?identity hashcode?)?
> 
>  
> 
> ------------------------------------------------------------------------
> 
> *From:* GUMMOW JR, DONALD R [AG/1000]
> [mailto:donald.r.gummow.jr@monsanto.com]
> *Sent:* Tuesday, August 09, 2005 9:58 AM
> *To:* hivemind-user@jakarta.apache.org
> *Subject:* RE: Classloaders and Registry
> 
>  
> 
> -->
> 
> James, thanks for the response. I've tried this, making sure that the
> classloader I pass into DefaultClassResolver is the same as the loader
> reported for the interface that I later pass into registry.getService( )
> - but am still getting the app run-time exception:
> 
>  
> 
> org.apache.hivemind.ApplicationRuntimeException: Service
> com.monsanto.tcc.domain.Item does not implement the requested interface
> (com.monsanto.tcc.domain.Item).  The declared service interface type is
> com.monsanto.tcc.domain.Item.
> [./com/monsanto/tcc/domain/service/descriptor/domainServices.xml, line
> 53, column 101]
> 
>             at
> org.apache.hivemind.impl.ServicePointImpl.getService(ServicePointImpl.java:226)
> 
>             at
> org.apache.hivemind.impl.RegistryInfrastructureImpl.getService(RegistryInfrastructureImpl.java:242)
> 
>             at
> org.apache.hivemind.impl.RegistryImpl.getService(RegistryImpl.java:73)
> 
>             at
> com.monsanto.tcc.domain.service.impl.DomainRepositoryServiceImpl.getRepository(DomainRepositoryServiceImpl.java:62)
> 
> ...
> 
>  
> 
> I don't see any place else in the API where you can inject a
> ClassLoader, but the "does not implement the requested interface" really
> does seem to be loader related, since it all works just fine in the UT.
> 
>  
> 
> Any good ideas on how to proceed from here?
> 
>  
> 
> Thanks,
> 
> ...Don
> 
>  
> 
>  
> 
>  
> 
>  
> 
> -----Original Message-----
> *From:* James Carman [mailto:james@carmanconsulting.com]
> *Sent:* Tuesday, August 09, 2005 6:48 AM
> *To:* hivemind-user@jakarta.apache.org
> *Subject:* RE: Classloaders and Registry
> 
>  
> 
> You need to build your registry differently...
> 
>  
> 
> RegistryBuilder builder = new RegistryBuilder();
> 
> builder.addModuleDescriptorProvider( new XmlModuleDescriptorProvider(
> new DefaultClassResolver( MY_CLASSLOADER ) ) );
> 
> Registry reg = builder.constructRegistry( Locale.getDefaultLocale() );
> 
>  
> 
> That code's off the top of my head, so the method names may be changed. 
> Also, this is HiveMind 1.1 code.
> 
>  
> 
> ------------------------------------------------------------------------
> 
> *From:* GUMMOW JR, DONALD R [AG/1000]
> [mailto:donald.r.gummow.jr@monsanto.com]
> *Sent:* Tuesday, August 09, 2005 7:42 AM
> *To:* hivemind-user@jakarta.apache.org
> *Subject:* Classloaders and Registry
> 
>  
> 
> Hello - I've got a situation where the service interface and
> implementation classes use a different class loader than the default
> loader for the registry, and I'm getting an ApplicationRuntimeException
> when I call to registry.getService( ) telling me that the service does
> not implement the requested interface. (The code works perfectly in my
> unit test, where both are using the same classloader.)
> 
> Does anyone have any tips on how this situation should be approached
> within HiveMind?
> 
> Regards,
> 
> ...Don
> 
>  
> 
> //This e-mail message may contain privileged and/or confidential
> information, and is intended to be received only by persons entitled to
> receive such information. If you have received this e-mail in error,
> please notify the sender immediately. Please delete it and all
> attachments from any servers, hard drives or any other media. Other use
> of this e-mail by you is strictly prohibited.//
> 
> //All e-mails and attachments sent and received are subject to
> monitoring, reading and archival by Monsanto. The recipient of this
> e-mail is solely responsible for checking for the presence of "Viruses"
> or other "Malware". Monsanto accepts no liability for any damage caused
> by any such code transmitted by or accompanying this e-mail or any
> attachment.//
> 
> //This e-mail message may contain privileged and/or confidential
> information, and is intended to be received only by persons entitled to
> receive such information. If you have received this e-mail in error,
> please notify the sender immediately. Please delete it and all
> attachments from any servers, hard drives or any other media. Other use
> of this e-mail by you is strictly prohibited.//
> 
> //All e-mails and attachments sent and received are subject to
> monitoring, reading and archival by Monsanto. The recipient of this
> e-mail is solely responsible for checking for the presence of "Viruses"
> or other "Malware". Monsanto accepts no liability for any damage caused
> by any such code transmitted by or accompanying this e-mail or any
> attachment.//
> 

- --
you too?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFC+MCGHS6c76+IdrwRAldyAJ473GxNE/FEPF9qZKi5A7qTiMTHJwCg8oAs
n/LcA6pEBiH2i4djIhinrUQ=
=txGT
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-user-help@jakarta.apache.org


Mime
View raw message