You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-user@ws.apache.org by "Beil, Matthias" <Be...@ascom-ac.de> on 2007/06/04 14:33:43 UTC
Delete when shutdown
Hi,
I have now the producer and consumer running and have started to deploy
the producer on our Sun Java System Application Server Enterprise
Edition 8.1_02 (build b27-p13) server on a UNIX machine 'SunOS localhost
5.10 Generic_118833-23 sun4v sparc SUNW,Sun-Fire-T200'.
Everything works perfect, except when I want to redeploy the producer.
At the moment when the producer is undeployed, the subscription xml file
is deleted!!!
I already extended the 'NotificationProducerFilePersistence' file to
have a 'getPersistenceDirectory()' which returns a directory which is
outside of the deployment path of the war file. I thought that the
subscriptions where deleted when the war application was undeployed. But
now that the xml files are stored in a different directory, I could
reproduce that it is Muse who calls the delete method. The stack trace
is as follow:
System Thread [RMI TCP Connection(14616)-localhost] (Suspended
(breakpoint at line 177 in AbstractFilePersistence))
WsnOssjNotificationProducerFilePersistence(AbstractFilePersistence).dest
royResourceFile(EndpointReference) line: 177
WsnOssjNotificationProducerFilePersistence(NotificationProducerFilePersi
stence).resourceRemoved(EndpointReference) line: 135
SimpleNotificationProducer.resourceRemoved(EndpointReference) line: 533
SimpleResourceManager.removeResource(EndpointReference)
line: 425
SimpleWsResource(SimpleResource).shutdown() line: 513
SimpleResourceManager.shutdown() line: 466
SimpleResourceRouter.shutdown() line: 345
AxisIsolationLayer(AbstractIsolationLayer).shutdown() line:
225
WsnOssjProducerServiceLifeCycle.shutDown(ConfigurationContext,
AxisService) line: 172
ListenerManager.shutDownServices(ConfigurationContext) line:
214
ListenerManager.stop() line: 178
AxisServlet.destroy() line: 114
StandardWrapper.unload() line: 1326
StandardWrapper.stop() line: 1680
WebModule(ContainerBase).removeChild(Container) line: 956
WebModule(StandardContext).removeChild(Container) line: 3331
WebModuleContextConfig(ContextConfig).stop() line: 720
WebModuleContextConfig.lifecycleEvent(LifecycleEvent) line:
112
LifecycleSupport.fireLifecycleEvent(String, Object) line:
124
WebModule(StandardContext).stop() line: 4688
HttpServiceVirtualServer(ContainerBase).removeChild(Container) line: 956
HttpServiceWebContainer(WebContainer).unloadWebModule(String, String,
String, WebBundleDescriptor) line: 2113
WebModuleDeployEventListener.moduleUndeployed(ConfigContext,
String) line: 198
WebModuleDeployEventListener.moduleUndeployed(ModuleDeployEvent) line:
278
AdminEventMulticaster.invokeModuleDeployEventListener(ModuleDeployEventL
istener, ModuleDeployEvent) line: 920
AdminEventMulticaster.handleModuleDeployEvent(AdminEvent)
line: 905
AdminEventMulticaster.processEvent(AdminEvent) line: 427
AdminEventMulticaster.multicastEvent(AdminEvent) line: 139
ServerRuntimeMBean.forwardEvent(AdminEvent) line: 64
NativeMethodAccessorImpl.invoke0(Method, Object, Object[])
line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line:
25
Method.invoke(Object, Object...) line: 585
MBeanHelper.invokeOperationInBean(MBeanOperationInfo,
Object, Object[]) line: 302
ServerRuntimeMBean(BaseRuntimeMBean).invoke(String,
Object[], String[]) line: 383
MetaDataImpl$PrivateDynamicMeta(DynamicMetaDataImpl).invoke(Object,
String, Object[], String[]) line: 213
MetaDataImpl.invoke(Object, String, Object[], String[])
line: 220
DefaultMBeanServerInterceptor.invoke(ObjectName, String,
Object[], String[]) line: 815
JmxMBeanServer.invoke(ObjectName, String, Object[],
String[]) line: 784
RMIConnectionImpl.doOperation(int, Object[]) line: 1408
RMIConnectionImpl.access$100(RMIConnectionImpl, int,
Object[]) line: 81
RMIConnectionImpl$PrivilegedOperation.run() line: 1245
RMIConnectionImpl.doPrivilegedOperation(int, Object[],
Subject) line: 1341
RMIConnectionImpl.invoke(ObjectName, String,
MarshalledObject, String[], Subject) line: 782
GeneratedMethodAccessor80.invoke(Object, Object[]) line: not
available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line:
25
Method.invoke(Object, Object...) line: 585
UnicastServerRef2(UnicastServerRef).dispatch(Remote,
RemoteCall) line: 294
Transport$1.run() line: 153
AccessController.doPrivileged(PrivilegedExceptionAction<T>,
AccessControlContext) line: not available [native method]
TCPTransport(Transport).serviceCall(RemoteCall) line: 149
TCPTransport.handleMessages(Connection, boolean) line: 466
TCPTransport$ConnectionHandler.run() line: 707
Thread.run() line: 595
I followed the stack trace but could not find a place where there is a
decision that the file must be destroyed due to the shutdown. Any help
appreciated.
I also noted that the consumer gets the following xml:
<?xml version="1.0" encoding="UTF-8"?>
<wsrf-rl:TerminationNotification
xmlns:wsrf-rl="http://docs.oasis-open.org/wsrf/rl-2">
<wsrf-rl:TerminationTime>2007-06-04T09:35:40+02:00</wsrf-rl:TerminationT
ime>
</wsrf-rl:TerminationNotification>
I had a look at the 'NotificationProducerFilePersistence' but I don't
see how to rewrite it to have a distinction between destroying the
resource when it has to be deleted due to an external destroy call and a
shutdown event.
Mit freundlichen Gruessen / With kind regards
Matthias Beil
RE: Delete when shutdown
Posted by "Vinh Nguyen (vinguye2)" <vi...@cisco.com>.
Hi Matthias,
Not sure if this helps...for your resource in muse.xml, do you have the
following attribute set to true?
<resource-type use-router-persistence="true">
-----Original Message-----
From: Beil, Matthias [mailto:Beil@ascom-ac.de]
Sent: Monday, June 04, 2007 5:34 AM
To: muse-user@ws.apache.org
Subject: Delete when shutdown
Hi,
I have now the producer and consumer running and have started to deploy
the producer on our Sun Java System Application Server Enterprise
Edition 8.1_02 (build b27-p13) server on a UNIX machine 'SunOS localhost
5.10 Generic_118833-23 sun4v sparc SUNW,Sun-Fire-T200'.
Everything works perfect, except when I want to redeploy the producer.
At the moment when the producer is undeployed, the subscription xml file
is deleted!!!
I already extended the 'NotificationProducerFilePersistence' file to
have a 'getPersistenceDirectory()' which returns a directory which is
outside of the deployment path of the war file. I thought that the
subscriptions where deleted when the war application was undeployed. But
now that the xml files are stored in a different directory, I could
reproduce that it is Muse who calls the delete method. The stack trace
is as follow:
System Thread [RMI TCP Connection(14616)-localhost] (Suspended
(breakpoint at line 177 in AbstractFilePersistence))
WsnOssjNotificationProducerFilePersistence(AbstractFilePersistence).dest
royResourceFile(EndpointReference) line: 177
WsnOssjNotificationProducerFilePersistence(NotificationProducerFilePersi
stence).resourceRemoved(EndpointReference) line: 135
SimpleNotificationProducer.resourceRemoved(EndpointReference) line: 533
SimpleResourceManager.removeResource(EndpointReference)
line: 425
SimpleWsResource(SimpleResource).shutdown() line: 513
SimpleResourceManager.shutdown() line: 466
SimpleResourceRouter.shutdown() line: 345
AxisIsolationLayer(AbstractIsolationLayer).shutdown() line:
225
WsnOssjProducerServiceLifeCycle.shutDown(ConfigurationContext,
AxisService) line: 172
ListenerManager.shutDownServices(ConfigurationContext) line:
214
ListenerManager.stop() line: 178
AxisServlet.destroy() line: 114
StandardWrapper.unload() line: 1326
StandardWrapper.stop() line: 1680
WebModule(ContainerBase).removeChild(Container) line: 956
WebModule(StandardContext).removeChild(Container) line: 3331
WebModuleContextConfig(ContextConfig).stop() line: 720
WebModuleContextConfig.lifecycleEvent(LifecycleEvent) line:
112
LifecycleSupport.fireLifecycleEvent(String, Object) line:
124
WebModule(StandardContext).stop() line: 4688
HttpServiceVirtualServer(ContainerBase).removeChild(Container) line: 956
HttpServiceWebContainer(WebContainer).unloadWebModule(String, String,
String, WebBundleDescriptor) line: 2113
WebModuleDeployEventListener.moduleUndeployed(ConfigContext,
String) line: 198
WebModuleDeployEventListener.moduleUndeployed(ModuleDeployEvent) line:
278
AdminEventMulticaster.invokeModuleDeployEventListener(ModuleDeployEventL
istener, ModuleDeployEvent) line: 920
AdminEventMulticaster.handleModuleDeployEvent(AdminEvent)
line: 905
AdminEventMulticaster.processEvent(AdminEvent) line: 427
AdminEventMulticaster.multicastEvent(AdminEvent) line: 139
ServerRuntimeMBean.forwardEvent(AdminEvent) line: 64
NativeMethodAccessorImpl.invoke0(Method, Object, Object[])
line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line:
25
Method.invoke(Object, Object...) line: 585
MBeanHelper.invokeOperationInBean(MBeanOperationInfo,
Object, Object[]) line: 302
ServerRuntimeMBean(BaseRuntimeMBean).invoke(String,
Object[], String[]) line: 383
MetaDataImpl$PrivateDynamicMeta(DynamicMetaDataImpl).invoke(Object,
String, Object[], String[]) line: 213
MetaDataImpl.invoke(Object, String, Object[], String[])
line: 220
DefaultMBeanServerInterceptor.invoke(ObjectName, String,
Object[], String[]) line: 815
JmxMBeanServer.invoke(ObjectName, String, Object[],
String[]) line: 784
RMIConnectionImpl.doOperation(int, Object[]) line: 1408
RMIConnectionImpl.access$100(RMIConnectionImpl, int,
Object[]) line: 81
RMIConnectionImpl$PrivilegedOperation.run() line: 1245
RMIConnectionImpl.doPrivilegedOperation(int, Object[],
Subject) line: 1341
RMIConnectionImpl.invoke(ObjectName, String,
MarshalledObject, String[], Subject) line: 782
GeneratedMethodAccessor80.invoke(Object, Object[]) line: not
available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line:
25
Method.invoke(Object, Object...) line: 585
UnicastServerRef2(UnicastServerRef).dispatch(Remote,
RemoteCall) line: 294
Transport$1.run() line: 153
AccessController.doPrivileged(PrivilegedExceptionAction<T>,
AccessControlContext) line: not available [native method]
TCPTransport(Transport).serviceCall(RemoteCall) line: 149
TCPTransport.handleMessages(Connection, boolean) line: 466
TCPTransport$ConnectionHandler.run() line: 707
Thread.run() line: 595
I followed the stack trace but could not find a place where there is a
decision that the file must be destroyed due to the shutdown. Any help
appreciated.
I also noted that the consumer gets the following xml:
<?xml version="1.0" encoding="UTF-8"?>
<wsrf-rl:TerminationNotification
xmlns:wsrf-rl="http://docs.oasis-open.org/wsrf/rl-2">
<wsrf-rl:TerminationTime>2007-06-04T09:35:40+02:00</wsrf-rl:TerminationT
ime>
</wsrf-rl:TerminationNotification>
I had a look at the 'NotificationProducerFilePersistence' but I don't
see how to rewrite it to have a distinction between destroying the
resource when it has to be deleted due to an external destroy call and a
shutdown event.
Mit freundlichen Gruessen / With kind regards
Matthias Beil
---------------------------------------------------------------------
To unsubscribe, e-mail: muse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-user-help@ws.apache.org