You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Peter Neubauer (JIRA)" <ji...@apache.org> on 2006/03/26 20:50:19 UTC

[jira] Created: (FELIX-50) Some contribution to the Dependency manager

Some contribution to the Dependency manager
-------------------------------------------

         Key: FELIX-50
         URL: http://issues.apache.org/jira/browse/FELIX-50
     Project: Felix
        Type: Improvement
    Reporter: Peter Neubauer


These are some contributions regarding the new Felx Dependency Manager

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (FELIX-50) Some contribution to the Dependency manager

Posted by "Marcel Offermans (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/FELIX-50?page=comments#action_12423306 ] 
            
Marcel Offermans commented on FELIX-50:
---------------------------------------

I am addressing them.
The bugfix for the null object proxy has made it into the repository.
The configuration dependencies still need to be added, I wanted to get some testing infrastructure in place first before I started to make major changes to the code.
The bundle that monitors services and hooks into the Knopflerfish console infrastructure is a bit more difficult. I don't think it would be appropriate to commit this "as is", however it would be nice if we could monitor dependencies, so I definitely don't want to completely "throw it out".

> Some contribution to the Dependency manager
> -------------------------------------------
>
>                 Key: FELIX-50
>                 URL: http://issues.apache.org/jira/browse/FELIX-50
>             Project: Felix
>          Issue Type: Improvement
>          Components: Dependency Manager
>            Reporter: Peter Neubauer
>         Assigned To: Marcel Offermans
>         Attachments: com.scancoin.core.servicemonitor.tar, com.scancoin.core.servicemonitor.zip, com.scancoin.core.servicemonitor.zip, com.xenotron.osgi.tar, com.xenotron.osgi.zip
>
>
> These are some contributions regarding the new Felx Dependency Manager

-- 
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
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (FELIX-50) Some contribution to the Dependency manager

Posted by "Peter Neubauer (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/FELIX-50?page=all ]

Peter Neubauer updated FELIX-50:
--------------------------------

    Attachment: com.scancoin.core.servicemonitor.zip

- added async start support for long running start methods
- minor bugfixes

> Some contribution to the Dependency manager
> -------------------------------------------
>
>          Key: FELIX-50
>          URL: http://issues.apache.org/jira/browse/FELIX-50
>      Project: Felix
>         Type: Improvement

>   Components: Dependency Manager
>     Reporter: Peter Neubauer
>     Assignee: Marcel Offermans
>  Attachments: com.scancoin.core.servicemonitor.tar, com.scancoin.core.servicemonitor.zip, com.xenotron.osgi.tar
>
> These are some contributions regarding the new Felx Dependency Manager

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (FELIX-50) Some contribution to the Dependency manager

Posted by "Peter Neubauer (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/FELIX-50?page=all ]

Peter Neubauer updated FELIX-50:
--------------------------------

    Attachment: com.xenotron.osgi.tar
                com.scancoin.core.servicemonitor.tar

Attaching
- changes and enhancements made by ScanCoin Industries AB to the original contribution of the Xenotron dpeendency manager
- a bundle monitoring the services and hooking into the Knopflerfish console infrastructure. not sure this is relevant here but it is extremely useful to check what has been started and what not 

> Some contribution to the Dependency manager
> -------------------------------------------
>
>          Key: FELIX-50
>          URL: http://issues.apache.org/jira/browse/FELIX-50
>      Project: Felix
>         Type: Improvement
>     Reporter: Peter Neubauer
>  Attachments: com.scancoin.core.servicemonitor.tar, com.xenotron.osgi.tar
>
> These are some contributions regarding the new Felx Dependency Manager

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (FELIX-50) Some contribution to the Dependency manager

Posted by "Alex Karasulu (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/FELIX-50?page=comments#action_12423304 ] 
            
Alex Karasulu commented on FELIX-50:
------------------------------------

Guys what's the status of these contributions?  Is no one addressing them or have they already been applied?

> Some contribution to the Dependency manager
> -------------------------------------------
>
>                 Key: FELIX-50
>                 URL: http://issues.apache.org/jira/browse/FELIX-50
>             Project: Felix
>          Issue Type: Improvement
>          Components: Dependency Manager
>            Reporter: Peter Neubauer
>         Assigned To: Marcel Offermans
>         Attachments: com.scancoin.core.servicemonitor.tar, com.scancoin.core.servicemonitor.zip, com.scancoin.core.servicemonitor.zip, com.xenotron.osgi.tar, com.xenotron.osgi.zip
>
>
> These are some contributions regarding the new Felx Dependency Manager

-- 
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
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (FELIX-50) Some contribution to the Dependency manager

Posted by "Peter Neubauer (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/FELIX-50?page=all ]

Peter Neubauer updated FELIX-50:
--------------------------------

    Attachment: com.scancoin.core.servicemonitor.zip

- minor fixes, can now ask more information

> Some contribution to the Dependency manager
> -------------------------------------------
>
>          Key: FELIX-50
>          URL: http://issues.apache.org/jira/browse/FELIX-50
>      Project: Felix
>         Type: Improvement

>   Components: Dependency Manager
>     Reporter: Peter Neubauer
>     Assignee: Marcel Offermans
>  Attachments: com.scancoin.core.servicemonitor.tar, com.scancoin.core.servicemonitor.zip, com.scancoin.core.servicemonitor.zip, com.xenotron.osgi.tar
>
> These are some contributions regarding the new Felx Dependency Manager

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (FELIX-50) Some contribution to the Dependency manager

Posted by "Peter Neubauer (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/FELIX-50?page=all ]

Peter Neubauer updated FELIX-50:
--------------------------------

    Attachment: com.xenotron.osgi.zip

fixed a bug in the construction of the null object proxy for an optional dependency. Primitive method return types were not handled correctly.

/peter neubauer + andreas ronge

> Some contribution to the Dependency manager
> -------------------------------------------
>
>          Key: FELIX-50
>          URL: http://issues.apache.org/jira/browse/FELIX-50
>      Project: Felix
>         Type: Improvement

>   Components: Dependency Manager
>     Reporter: Peter Neubauer
>     Assignee: Marcel Offermans
>  Attachments: com.scancoin.core.servicemonitor.tar, com.scancoin.core.servicemonitor.zip, com.scancoin.core.servicemonitor.zip, com.xenotron.osgi.tar, com.xenotron.osgi.zip
>
> These are some contributions regarding the new Felx Dependency Manager

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (FELIX-50) Some contribution to the Dependency manager

Posted by "Marcel Offermans (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/FELIX-50?page=all ]

Marcel Offermans updated FELIX-50:
----------------------------------

    Component: Dependency Manager

> Some contribution to the Dependency manager
> -------------------------------------------
>
>          Key: FELIX-50
>          URL: http://issues.apache.org/jira/browse/FELIX-50
>      Project: Felix
>         Type: Improvement

>   Components: Dependency Manager
>     Reporter: Peter Neubauer
>     Assignee: Marcel Offermans
>  Attachments: com.scancoin.core.servicemonitor.tar, com.xenotron.osgi.tar
>
> These are some contributions regarding the new Felx Dependency Manager

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (FELIX-50) Some contribution to the Dependency manager

Posted by "Peter Neubauer (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/FELIX-50?page=comments#action_12423316 ] 
            
Peter Neubauer commented on FELIX-50:
-------------------------------------

basically, I think we should go through the code and look out for improvements. I think Andreas Ronge, having made most of the changes, can do it together with me against the current codebase and maybe file a patch for the different issues, like
- async starting of bundles for long running start methods
- adding a command into the felix console for the dependency tracking (we used the KF one but of course the target is a native Felix console variant)
- configuration dependencis
- the bugfixes.

Maybe we can split this and try filing patches for each of the issues, we should be able to recreate the stuff from our work in SCAN COIN SVN. If Marcel want's to have control, maybe the best is to file the patches subsequently for the old codebase, so you can see the diffs and apply them in principle to the trunk.

WDYT?

/peter

> Some contribution to the Dependency manager
> -------------------------------------------
>
>                 Key: FELIX-50
>                 URL: http://issues.apache.org/jira/browse/FELIX-50
>             Project: Felix
>          Issue Type: Improvement
>          Components: Dependency Manager
>            Reporter: Peter Neubauer
>         Assigned To: Marcel Offermans
>         Attachments: com.scancoin.core.servicemonitor.tar, com.scancoin.core.servicemonitor.zip, com.scancoin.core.servicemonitor.zip, com.xenotron.osgi.tar, com.xenotron.osgi.zip
>
>
> These are some contributions regarding the new Felx Dependency Manager

-- 
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
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (FELIX-50) Some contribution to the Dependency manager

Posted by "Peter Neubauer (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/FELIX-50?page=comments#action_12423583 ] 
            
Peter Neubauer commented on FELIX-50:
-------------------------------------

Marcel,
sounds like a great plan. No problems with the naming and the configuration object. We can take a shot at the dependency monitoring seperately, this implementation was just attached to give some hint what we are thinking there. On the async methods let's wait for some feedback from others, inclusive Andreas Ronge who has done most of that part.

/peter

> Some contribution to the Dependency manager
> -------------------------------------------
>
>                 Key: FELIX-50
>                 URL: http://issues.apache.org/jira/browse/FELIX-50
>             Project: Felix
>          Issue Type: Improvement
>          Components: Dependency Manager
>            Reporter: Peter Neubauer
>         Assigned To: Marcel Offermans
>         Attachments: com.scancoin.core.servicemonitor.tar, com.scancoin.core.servicemonitor.zip, com.scancoin.core.servicemonitor.zip, com.xenotron.osgi.tar, com.xenotron.osgi.zip
>
>
> These are some contributions regarding the new Felx Dependency Manager

-- 
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
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (FELIX-50) Some contribution to the Dependency manager

Posted by "Peter Neubauer (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-50?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Peter Neubauer updated FELIX-50:
--------------------------------

    Attachment: patch.txt

This is a patch to enable the monitoring of service dependency resolution in Felex DepMan. With this, one can proceed to write clients like console plugins for Felix, KF  and Equinox console systems (e.g. https://scm.ops4j.org/repos/ops4j/laboratory/users/peter/org.ops4j.pax.equinox.console.commands.felixdepman/)

> Some contribution to the Dependency manager
> -------------------------------------------
>
>                 Key: FELIX-50
>                 URL: https://issues.apache.org/jira/browse/FELIX-50
>             Project: Felix
>          Issue Type: Improvement
>          Components: Dependency Manager
>            Reporter: Peter Neubauer
>         Assigned To: Marcel Offermans
>         Attachments: com.scancoin.core.servicemonitor.tar, com.scancoin.core.servicemonitor.zip, com.scancoin.core.servicemonitor.zip, com.xenotron.osgi.tar, com.xenotron.osgi.zip, patch.txt
>
>
> These are some contributions regarding the new Felx Dependency Manager

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


[jira] Assigned: (FELIX-50) Some contribution to the Dependency manager

Posted by "Marcel Offermans (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/FELIX-50?page=all ]

Marcel Offermans reassigned FELIX-50:
-------------------------------------

    Assign To: Marcel Offermans

> Some contribution to the Dependency manager
> -------------------------------------------
>
>          Key: FELIX-50
>          URL: http://issues.apache.org/jira/browse/FELIX-50
>      Project: Felix
>         Type: Improvement
>     Reporter: Peter Neubauer
>     Assignee: Marcel Offermans
>  Attachments: com.scancoin.core.servicemonitor.tar, com.xenotron.osgi.tar
>
> These are some contributions regarding the new Felx Dependency Manager

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Re: [jira] Commented: (FELIX-50) Some contribution to the Dependency manager

Posted by "Richard S. Hall" <he...@ungoverned.org>.
Marcel Offermans (JIRA) wrote:
> About asynchronously starting for bundles with long running start methods, you now spawn a new thread and use that to call activateServiceInternal() which does many things, including invoking "init" and "start" methods. My main concern here is that I don't think this is a problem that should be solved by the dependency manager. If your service implementation does lengthy operations in its "init" or "start" methods, it should spawn a background thread there (this is in my opinion similar to the way the OSGi spec deals with this in the "start" of the bundle activator).

I agree with Marcel. It seems like this type of feature should be 
implemented by the services that need it and not part of the dependency 
manager core.

-> richard

[jira] Commented: (FELIX-50) Some contribution to the Dependency manager

Posted by "Marcel Offermans (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/FELIX-50?page=comments#action_12423581 ] 
            
Marcel Offermans commented on FELIX-50:
---------------------------------------

I think it's a good idea to split these changes, and I would like to have some discussions on the list on how to proceed with certain changes (so anybody reading this, please provide feedback).

The bugfixes are simple, they should be included. I did the one for the null object proxy, but are there others?

The configuration dependencies need to be added. Regarding the current implementation I have one issue, and that is the "Configuration" class you use to wrap the dictionary object that is used. I can imagine that you want to use such a "helper class" to do certain things, but I am a bit reluctant to include this by default.

Then there is a refactoring where you renamed Service and ServiceImpl to DependentServiceController (and Impl). Personally, I would like to keep the original names.

About asynchronously starting for bundles with long running start methods, you now spawn a new thread and use that to call activateServiceInternal() which does many things, including invoking "init" and "start" methods. My main concern here is that I don't think this is a problem that should be solved by the dependency manager. If your service implementation does lengthy operations in its "init" or "start" methods, it should spawn a background thread there (this is in my opinion similar to the way the OSGi spec deals with this in the "start" of the bundle activator).

About the command for the felix console, I think it's a good idea to create some kind of monitoring facility for the dependency manager. Ideally I would like to keep this as an extra plugin as much as possible, although I realize that we will probably need some API to access this information. To be honest I need to take a closer look at how you have done this now, and I would like to review if this would also be useful when used together with our new JMX implementations (to create some kind of MBean that shows these dependencies).

So my proposal would be that I start implementing any remaining bugfixes as well as the configuration dependency (without that Configuration wrapper). The other features need some more discussion first.

> Some contribution to the Dependency manager
> -------------------------------------------
>
>                 Key: FELIX-50
>                 URL: http://issues.apache.org/jira/browse/FELIX-50
>             Project: Felix
>          Issue Type: Improvement
>          Components: Dependency Manager
>            Reporter: Peter Neubauer
>         Assigned To: Marcel Offermans
>         Attachments: com.scancoin.core.servicemonitor.tar, com.scancoin.core.servicemonitor.zip, com.scancoin.core.servicemonitor.zip, com.xenotron.osgi.tar, com.xenotron.osgi.zip
>
>
> These are some contributions regarding the new Felx Dependency Manager

-- 
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
-
For more information on JIRA, see: http://www.atlassian.com/software/jira