[JBoss JIRA] Updated: (JBCACHE-318) CacheLoader persistent item should have an age limit
by Manik Surtani (JIRA)
[ http://jira.jboss.com/jira/browse/JBCACHE-318?page=all ]
Manik Surtani updated JBCACHE-318:
----------------------------------
Fix Version/s: 2.1.0
(was: 2.0.0)
> CacheLoader persistent item should have an age limit
> ----------------------------------------------------
>
> Key: JBCACHE-318
> URL: http://jira.jboss.com/jira/browse/JBCACHE-318
> Project: JBoss Cache
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Reporter: Ben Wang
> Assigned To: Ben Wang
> Fix For: 2.1.0
>
> Original Estimate: 2 weeks
> Remaining Estimate: 2 weeks
>
> Currently items that are persisted has no notion of age out. So let's say it is fairly common in SFSB to have the state not live more than 2 weeks in the store, for example. The other usage is when the cache crashed and the persistent store won't get cleaned up even when the items are orphaned.
> Bela refused to put this functionality in the cache loader layer. So Manik's idea is to wrap around the object in the CacheStoreInterceptor with an additional timestamp. This way an offline thread can come in and clean them.
> We can also check how does the current SFSB does this?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 11 months
[JBoss JIRA] Resolved: (JBAS-3233) Web services debug logging is causing the classloader to be switched
by Darran Lofthouse (JIRA)
[ http://jira.jboss.com/jira/browse/JBAS-3233?page=all ]
Darran Lofthouse resolved JBAS-3233.
------------------------------------
Fix Version/s: (was: JBossAS-4.0.5.GA)
Resolution: Rejected
I have tracked down the cause of this problem, the class org.jboss.ws.soap.SOAPContentElement caches the XML after it has been generated.
If the debug logging is enabled the first time SOAPContentElement is called to generate the XML is when the classloader of the EJB is the current classloader, this means it has not problems generating the XML. When the response is generated SOAPContentElement is asked a second time for the XML, as it has already been generated once the cached value is returned.
When the debug logging is switched off SOAPContentElement is not called so the XML is not cached, then it is called to generate the response this is using the classloader of the web application and as there is no cached value it has to be generated. The web application classloader does not have visibility of the classloader used for the EJB which is why it can not load the class.
JBWS-941 Resolved this issue and the web application now makes use of the scoped classloader of the ear so if the XML is first requested in the web application or in the debug code the correct classloader will be used to load the classes.
> Web services debug logging is causing the classloader to be switched
> --------------------------------------------------------------------
>
> Key: JBAS-3233
> URL: http://jira.jboss.com/jira/browse/JBAS-3233
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: ClassLoading
> Affects Versions: JBossAS-4.0.4.GA
> Reporter: Darran Lofthouse
> Assigned To: Darran Lofthouse
> Attachments: ComplexReturnEJB_DocLit.ear
>
>
> Web services debug logging is causing the classloader to be switched.
> Currently the web services stack does not correctly set the classloader for web services deployments when deployed as part of an ear with an issolated classloader (see JBWS-941). However debug logging in the web services code is incorectly causing the deployment to work!
> In the class 'org.jboss.ws.server.ServiceEndpoint' there is a method called 'postProcessResponse', this method contains some logging wrapped with a 'log.isDebugEnabled': -
> // debug the outgoing message
> if(log.isDebugEnabled())
> {
> resMessage.saveChanges();
> SOAPEnvelope soapEnv = resMessage.getSOAPPart().getEnvelope();
> String envStr = DOMWriter.printNode(soapEnv, true);
> log.debug("Outgoing SOAPMessage\n" + envStr);
> }
> If this logging is remove the ClassNotFoundException is thrown regardless of the log4j configuration.
> The ClassNotFoundException is good and shows that the classloader has not been switched.
> I will attach a deployment that can be used to reproduce this.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 11 months