axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Davanum Srinivas (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-3623) application scope Services loaded via ServiceObjectProviders do not have init method invoked at application scope init time
Date Thu, 20 Mar 2008 14:21:24 GMT

    [ https://issues.apache.org/jira/browse/AXIS2-3623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12580772#action_12580772
] 

Davanum Srinivas commented on AXIS2-3623:
-----------------------------------------

Please get the latest svn, make your changes, run "svn diff"  redirect the output to a file
and upload that file to this JIRA (see link on left hand side of this page)

thanks,
dims

> application scope Services loaded via ServiceObjectProviders do not have init method
invoked at application scope init time
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-3623
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3623
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: modules
>    Affects Versions: 1.3
>         Environment: Windows
>            Reporter: Michael Thibodeau
>
> DependencyManager.initService looks for ServiceClass parameter to load and invoke init
method of the ServiceClass.
> This requirement defeats the purpose of the ServiceObjectSupplier parameter especially
with Spring orient Service Object providers (i.e. SpringAppContextAwareObjectSupplier, SpringServletContextObjectSupplier).

> There is no work around. Some initialization can be performed by the Spring Application
Context when the Service bean is initialized.
> This is not really the same as scope-based initialization and involvement in Service
LifeCycle
> Affects all areas of code where LifeCycle methods are expected to be invoked (i.e. ConfigurationContextFactory.initApplicationScopeServices,
ConfigurationContext.deployService, etc.)
> The stuff being done in AbstractMessageReceiver.makeNewServiceObject needs to be replicated
in to these additional scope based service class instantiations
>         while (serviceItr.hasNext()) {
>             AxisService axisService = (AxisService) serviceItr.next();
>             ServiceContext serviceContext = serviceGroupContext.getServiceContext(axisService);
>             AxisService service = serviceContext.getAxisService();
>             ClassLoader classLoader = service.getClassLoader();
>             Parameter implInfoParam = service.getParameter(Constants.SERVICE_CLASS);
//**** Must have ServiceClass 
>             if (implInfoParam != null) {
>                 try {
>                     Class implClass = Loader.loadClass(
>                             classLoader,
>                             ((String) implInfoParam.getValue()).trim());
>                     Object serviceImpl = implClass.newInstance();
>                     serviceContext.setProperty(ServiceContext.SERVICE_OBJECT, serviceImpl);
>                     initServiceObject(serviceImpl, serviceContext);
>                 } catch (Exception e) {
>                     AxisFault.makeFault(e);
>                 }
>             }
>         }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message