You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hivemind.apache.org by Alex Chew <ch...@gmail.com> on 2005/11/17 08:31:44 UTC

how can i build registry from class resource

Hi, there
 How can i build service registry using class resource from my jar file?
 i've put my service.xml in jar file, and try
RegistryBuilder.constructDefaultRegistry(),but i could not get service
point.
  I can get everything run ok using File Resource, but i must edit java code
when deploy my WAR file to different directorys.
  how can i use just private Registry registry =
buildRegistry("service.xml");//service.xml
will build in jar file
  not following lines:
  private Registry registry =
buildRegistry("E:/MyProj/main/src/java/service.xml");
 private static Registry buildRegistry(String fileName)
{
RegistryBuilder builder = new RegistryBuilder();
ClassResolver resolver = new DefaultClassResolver();
builder.processModules(resolver);
builder.processModule(resolver, new FileResource(fileName));//can i use
Class Resource here?
return builder.constructRegistry(Locale.getDefault());
}
 Regards
Alex

Re: how can i build registry from class resource

Posted by Alex Chew <ch...@gmail.com>.
Thanks, Achim
  It works now. following is some different from yours.

URL url = ServiceLocator.class.getClassLoader().getResource(fileName);
Regards
Alex

Re: how can i build registry from class resource

Posted by Achim Hügen <ac...@gmx.de>.
RegistryBuilder.constructDefaultRegistry() searches for files named
META-INF/hivemodule.xml only.

To find your services.xml in the classpath try URLResource instead
of FileResource:

private static Registry buildRegistry(String fileName)
     {
         RegistryBuilder builder = new RegistryBuilder();
         ClassResolver resolver = new DefaultClassResolver();
         builder.processModules (resolver);

	  URL url = ThisClass.getClass().getResource(fileName);
         if (url == null)
             throw new NullPointerException("No resource named '" + file  
+ "'.");

         builder.processModule(resolver, new URLResource(url));
         return builder.constructRegistry(Locale.getDefault());
     }

}

For more examples take a look into the source of ExampleUtils class.

Achim


Am Thu, 17 Nov 2005 08:31:44 +0100 schrieb Alex Chew <ch...@gmail.com>:

> Hi, there
>  How can i build service registry using class resource from my jar file?
>  i've put my service.xml in jar file, and try
> RegistryBuilder.constructDefaultRegistry(),but i could not get service
> point.
>   I can get everything run ok using File Resource, but i must edit java  
> code
> when deploy my WAR file to different directorys.
>   how can i use just private Registry registry =
> buildRegistry("service.xml");//service.xml
> will build in jar file
>   not following lines:
>   private Registry registry =
> buildRegistry("E:/MyProj/main/src/java/service.xml");
>  private static Registry buildRegistry(String fileName)
> {
> RegistryBuilder builder = new RegistryBuilder();
> ClassResolver resolver = new DefaultClassResolver();
> builder.processModules(resolver);
> builder.processModule(resolver, new FileResource(fileName));//can i use
> Class Resource here?
> return builder.constructRegistry(Locale.getDefault());
> }
>  Regards
> Alex



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