You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by ji...@apache.org on 2004/05/24 23:16:00 UTC
[jira] Created: (JS2-53) Refactor InterceptorAdapter to support ThreadLocal component instacnes
Message:
A new issue has been created in JIRA.
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/JS2-53
Here is an overview of the issue:
---------------------------------------------------------------------
Key: JS2-53
Summary: Refactor InterceptorAdapter to support ThreadLocal component instacnes
Type: Improvement
Status: Open
Priority: Major
Project: Jetspeed 2
Components:
Components Core
Versions:
2.0-a1
Assignee: Scott T Weaver
Reporter: Scott T Weaver
Created: Mon, 24 May 2004 2:15 PM
Updated: Mon, 24 May 2004 2:15 PM
Description:
I have taken what David Taylor has done with InterceptorAdapter and refactored it to support different DelegationStrategies for compnent creation.
The two initial strategies are StandardDelegationStrategy and ThreadLocalDelegationStrategy.
StandardDelegationStartegy: works identical to David's original implementation, which returns a dynamic proxy that adds Swappable automatically.
ThreadLocalDelegationStrategy works much like StandardDelegationStrategy but with added bonus of getComponentInstance returning a thread safe/local instance of the component. It also allows hot swapping on a per thread basis. This means that per thread components, like PersistenceStore can be held in an instance vairable of an object and you can be guaranteed that that PersistenceStore instance will always be the correct one for that thread. This negates the need for the PersistenceStoreContainer object entirely.
What's even cooler is that we can now have objects that take and keep per request objects, like HttpServletRequest, as depdencies, and HttpServletRequest instance will always be the correct instance for that thread. We could achieve this by hot swapping the dynamic proxy component instance of HttpServletRequest in the JetspeedServlet.doGet().
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org
[jira] Updated: (JS2-53) Refactor InterceptorAdapter to support ThreadLocal component instances
Posted by ji...@apache.org.
The following issue has been updated:
Updater: Scott T Weaver (mailto:weaver@apache.org)
Date: Mon, 24 May 2004 2:19 PM
Changes:
summary changed from Refactor InterceptorAdapter to support ThreadLocal component instacnes to Refactor InterceptorAdapter to support ThreadLocal component instances
---------------------------------------------------------------------
For a full history of the issue, see:
http://issues.apache.org/jira/browse/JS2-53?page=history
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/JS2-53
Here is an overview of the issue:
---------------------------------------------------------------------
Key: JS2-53
Summary: Refactor InterceptorAdapter to support ThreadLocal component instances
Type: Improvement
Status: Open
Priority: Major
Project: Jetspeed 2
Components:
Components Core
Versions:
2.0-a1
Assignee: Scott T Weaver
Reporter: Scott T Weaver
Created: Mon, 24 May 2004 2:15 PM
Updated: Mon, 24 May 2004 2:19 PM
Description:
I have taken what David Taylor has done with InterceptorAdapter and refactored it to support different DelegationStrategies for compnent creation.
The two initial strategies are StandardDelegationStrategy and ThreadLocalDelegationStrategy.
StandardDelegationStartegy: works identical to David's original implementation, which returns a dynamic proxy that adds Swappable automatically.
ThreadLocalDelegationStrategy works much like StandardDelegationStrategy but with added bonus of getComponentInstance returning a thread safe/local instance of the component. It also allows hot swapping on a per thread basis. This means that per thread components, like PersistenceStore can be held in an instance vairable of an object and you can be guaranteed that that PersistenceStore instance will always be the correct one for that thread. This negates the need for the PersistenceStoreContainer object entirely.
What's even cooler is that we can now have objects that take and keep per request objects, like HttpServletRequest, as depdencies, and HttpServletRequest instance will always be the correct instance for that thread. We could achieve this by hot swapping the dynamic proxy component instance of HttpServletRequest in the JetspeedServlet.doGet().
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org
[jira] Closed: (JS2-53) Refactor InterceptorAdapter to support ThreadLocal component instances
Posted by ji...@apache.org.
Message:
The following issue has been closed.
Resolver: Scott T Weaver
Date: Mon, 24 May 2004 2:34 PM
I have committed all the refactorings along with a fairly inclusive testcase that tests per thread capabilies with hot swapping along with non-multi-threaded hot swapping.
I have yet to start working these into Jetspeed 2 itself from an operational standpoint. The first target will be removing the PersistenceStoreContainer and refactoring all its deps (Registry, Security, etc.) to just require PersistenceStore as a dependency intead.
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/JS2-53
Here is an overview of the issue:
---------------------------------------------------------------------
Key: JS2-53
Summary: Refactor InterceptorAdapter to support ThreadLocal component instances
Type: Improvement
Status: Closed
Priority: Major
Resolution: FIXED
Project: Jetspeed 2
Components:
Components Core
Fix Fors:
2.0-a1
Versions:
2.0-a1
Assignee: Scott T Weaver
Reporter: Scott T Weaver
Created: Mon, 24 May 2004 2:15 PM
Updated: Mon, 24 May 2004 2:34 PM
Description:
I have taken what David Taylor has done with InterceptorAdapter and refactored it to support different DelegationStrategies for compnent creation.
The two initial strategies are StandardDelegationStrategy and ThreadLocalDelegationStrategy.
StandardDelegationStartegy: works identical to David's original implementation, which returns a dynamic proxy that adds Swappable automatically.
ThreadLocalDelegationStrategy works much like StandardDelegationStrategy but with added bonus of getComponentInstance returning a thread safe/local instance of the component. It also allows hot swapping on a per thread basis. This means that per thread components, like PersistenceStore can be held in an instance vairable of an object and you can be guaranteed that that PersistenceStore instance will always be the correct one for that thread. This negates the need for the PersistenceStoreContainer object entirely.
What's even cooler is that we can now have objects that take and keep per request objects, like HttpServletRequest, as depdencies, and HttpServletRequest instance will always be the correct instance for that thread. We could achieve this by hot swapping the dynamic proxy component instance of HttpServletRequest in the JetspeedServlet.doGet().
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org