RepositoryFactorypublic class RepositoryFactory extends Object This SPI mechanism allows RepositoryProvider instance. This repority provider
can be queried for existence of web services.
Because the methods in the RepositoryFactory are all static, there is only
one RepositoryFactory per Java VM at any one time. This ensures that there is
a single source from which RepositoryProvider implementation is obtained.
Registering RepositoryProvider
The name of the provider is supplied on the command line. If no provider is
specified, default implementation is assumed. Default provider class is
com.sun.enterprise.admin.repository.impl.ApplicationServerRepositoryProvider.
For example the following
-Drepository.provider.classname=com.sun.web.WebServerRepositoryProvider
would change the provider class to com.sun.web.WebServerRepositoryProvider. |
Fields Summary |
---|
public static final String | REPOSITORY_PROVIDER_NAMEEnvironment property name to customize Repository Provider | public static final String | WEBSERVICE_INFO_PROVIDER_NAMEEnvironment property name to customize Web Service Info Provider | private static final String | AS_DEFAULT_PROVIDER |
Constructors Summary |
---|
private RepositoryFactory()Make RepositoryFactory private, only one sigleton object is available.
|
Methods Summary |
---|
public static com.sun.enterprise.admin.wsmgmt.repository.spi.RepositoryFactory | getRepositoryFactory()Returns the RepositoryFactory singleton.
return new RepositoryFactory();
| public static RepositoryProvider | getRepositoryProvider()Returns the RepositoryProvider instance. If
-Drepository.provider.classname is defined, that class is loaded and
returned as the repository provider. If there is an error finding or
loading the class, the default provider class is returned.
String implName = System.getProperty(REPOSITORY_PROVIDER_NAME);
if ( implName == null ) {
return new AppServRepositoryProvider();
} else {
Class repClass = Class.forName(implName);
Object o = repClass.newInstance();
return (RepositoryProvider)o;
}
| public static WebServiceInfoProvider | getWebServiceInfoProvider()Returns the WebServiceInfoProvider instance. If
-Dwebserviceinfo.provider.classname is defined, that class is loaded and
returned as the repository provider. If there is an error finding or
loading the class, the default provider class is returned.
String implName = System.getProperty(WEBSERVICE_INFO_PROVIDER_NAME);
if ( implName == null ) {
//return new AppServWebServiceInfoProvider();
Class repClass = Class.forName(AS_DEFAULT_PROVIDER);
return (WebServiceInfoProvider) repClass.newInstance();
} else {
Class repClass = Class.forName(implName);
return (WebServiceInfoProvider) repClass.newInstance();
}
|
|