You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Thomas Diesler (JIRA)" <ji...@apache.org> on 2009/10/26 09:03:59 UTC
[jira] Created: (FELIX-1804) Consider adding an Interceptor API
Consider adding an Interceptor API
----------------------------------
Key: FELIX-1804
URL: https://issues.apache.org/jira/browse/FELIX-1804
Project: Felix
Issue Type: Improvement
Components: Framework
Affects Versions: felix-2.0.1
Reporter: Thomas Diesler
Please consider adding a bundle state change interceptor API. For more background on this, please have a look at
http://jbossosgi.blogspot.com/2009/10/extender-pattern-vs-lifecycle.html
A possible API could look like this
{code:java}
void setBundleStateAndNotify(BundleImpl bundle, int state)
{
synchronized (m_bundleLock)
{
if (interceptor != null)
interceptor.processStateChange(bundle, state);
bundle.__setState(state);
m_bundleLock.notifyAll();
}
}
{code}
{code:java}
interface BundleStateInterceptor()
{
void processStateChange(Bundle bundle, int state);
}
{code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (FELIX-1804) Consider adding an Interceptor API
Posted by "Thomas Diesler (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/FELIX-1804?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Diesler updated FELIX-1804:
----------------------------------
Description:
Please consider adding a bundle state change interceptor API. For more background on this, please have a look at
http://jbossosgi.blogspot.com/2009/10/extender-pattern-vs-lifecycle.html
A possible API could look like this
void setBundleStateAndNotify(BundleImpl bundle, int state)
{
synchronized (m_bundleLock)
{
if (interceptor != null)
interceptor.processStateChange(bundle, state);
bundle.__setState(state);
m_bundleLock.notifyAll();
}
}
interface BundleStateInterceptor()
{
void processStateChange(Bundle bundle, int state);
}
was:
Please consider adding a bundle state change interceptor API. For more background on this, please have a look at
http://jbossosgi.blogspot.com/2009/10/extender-pattern-vs-lifecycle.html
A possible API could look like this
{code:java}
void setBundleStateAndNotify(BundleImpl bundle, int state)
{
synchronized (m_bundleLock)
{
if (interceptor != null)
interceptor.processStateChange(bundle, state);
bundle.__setState(state);
m_bundleLock.notifyAll();
}
}
{code}
{code:java}
interface BundleStateInterceptor()
{
void processStateChange(Bundle bundle, int state);
}
{code}
> Consider adding an Interceptor API
> ----------------------------------
>
> Key: FELIX-1804
> URL: https://issues.apache.org/jira/browse/FELIX-1804
> Project: Felix
> Issue Type: Improvement
> Components: Framework
> Affects Versions: felix-2.0.1
> Reporter: Thomas Diesler
>
> Please consider adding a bundle state change interceptor API. For more background on this, please have a look at
> http://jbossosgi.blogspot.com/2009/10/extender-pattern-vs-lifecycle.html
> A possible API could look like this
> void setBundleStateAndNotify(BundleImpl bundle, int state)
> {
> synchronized (m_bundleLock)
> {
> if (interceptor != null)
> interceptor.processStateChange(bundle, state);
> bundle.__setState(state);
> m_bundleLock.notifyAll();
> }
> }
> interface BundleStateInterceptor()
> {
> void processStateChange(Bundle bundle, int state);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (FELIX-1804) Consider adding an Interceptor API
Posted by "Richard S. Hall (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/FELIX-1804?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Richard S. Hall closed FELIX-1804.
----------------------------------
Resolution: Won't Fix
> Consider adding an Interceptor API
> ----------------------------------
>
> Key: FELIX-1804
> URL: https://issues.apache.org/jira/browse/FELIX-1804
> Project: Felix
> Issue Type: Improvement
> Components: Framework
> Affects Versions: felix-2.0.1
> Reporter: Thomas Diesler
>
> Please consider adding a bundle state change interceptor API. For more background on this, please have a look at
> http://jbossosgi.blogspot.com/2009/10/extender-pattern-vs-lifecycle.html
> A possible API could look like this
> void setBundleStateAndNotify(BundleImpl bundle, int state)
> {
> synchronized (m_bundleLock)
> {
> if (interceptor != null)
> interceptor.processStateChange(bundle, state);
> bundle.__setState(state);
> m_bundleLock.notifyAll();
> }
> }
> interface BundleStateInterceptor()
> {
> void processStateChange(Bundle bundle, int state);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (FELIX-1804) Consider adding an Interceptor API
Posted by "Thomas Diesler (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/FELIX-1804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12769930#action_12769930 ]
Thomas Diesler commented on FELIX-1804:
---------------------------------------
If you like we could chat about this and I could give a little more background
> Consider adding an Interceptor API
> ----------------------------------
>
> Key: FELIX-1804
> URL: https://issues.apache.org/jira/browse/FELIX-1804
> Project: Felix
> Issue Type: Improvement
> Components: Framework
> Affects Versions: felix-2.0.1
> Reporter: Thomas Diesler
>
> Please consider adding a bundle state change interceptor API. For more background on this, please have a look at
> http://jbossosgi.blogspot.com/2009/10/extender-pattern-vs-lifecycle.html
> A possible API could look like this
> {code:java}
> void setBundleStateAndNotify(BundleImpl bundle, int state)
> {
> synchronized (m_bundleLock)
> {
> if (interceptor != null)
> interceptor.processStateChange(bundle, state);
> bundle.__setState(state);
> m_bundleLock.notifyAll();
> }
> }
> {code}
> {code:java}
> interface BundleStateInterceptor()
> {
> void processStateChange(Bundle bundle, int state);
> }
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (FELIX-1804) Consider adding an Interceptor API
Posted by "Richard S. Hall (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/FELIX-1804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12770048#action_12770048 ]
Richard S. Hall commented on FELIX-1804:
----------------------------------------
I think I understand the background, but I personally would be very hesitant to add such an API since we try to avoid containerisms. If this gets standardized, then I'm sure we'd implement it...although I can only imagine the potential deadlocks.
> Consider adding an Interceptor API
> ----------------------------------
>
> Key: FELIX-1804
> URL: https://issues.apache.org/jira/browse/FELIX-1804
> Project: Felix
> Issue Type: Improvement
> Components: Framework
> Affects Versions: felix-2.0.1
> Reporter: Thomas Diesler
>
> Please consider adding a bundle state change interceptor API. For more background on this, please have a look at
> http://jbossosgi.blogspot.com/2009/10/extender-pattern-vs-lifecycle.html
> A possible API could look like this
> void setBundleStateAndNotify(BundleImpl bundle, int state)
> {
> synchronized (m_bundleLock)
> {
> if (interceptor != null)
> interceptor.processStateChange(bundle, state);
> bundle.__setState(state);
> m_bundleLock.notifyAll();
> }
> }
> interface BundleStateInterceptor()
> {
> void processStateChange(Bundle bundle, int state);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (FELIX-1804) Consider adding an Interceptor API
Posted by "Thomas Diesler (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/FELIX-1804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12770432#action_12770432 ]
Thomas Diesler commented on FELIX-1804:
---------------------------------------
Ok thanks. This will probably be discussed at the next EEG meeting.
> Consider adding an Interceptor API
> ----------------------------------
>
> Key: FELIX-1804
> URL: https://issues.apache.org/jira/browse/FELIX-1804
> Project: Felix
> Issue Type: Improvement
> Components: Framework
> Affects Versions: felix-2.0.1
> Reporter: Thomas Diesler
>
> Please consider adding a bundle state change interceptor API. For more background on this, please have a look at
> http://jbossosgi.blogspot.com/2009/10/extender-pattern-vs-lifecycle.html
> A possible API could look like this
> void setBundleStateAndNotify(BundleImpl bundle, int state)
> {
> synchronized (m_bundleLock)
> {
> if (interceptor != null)
> interceptor.processStateChange(bundle, state);
> bundle.__setState(state);
> m_bundleLock.notifyAll();
> }
> }
> interface BundleStateInterceptor()
> {
> void processStateChange(Bundle bundle, int state);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.