<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Re: Weld-OSGi integration in AS7
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/kevinpollet">Kevin Pollet</a> in <i>JBoss AS7 Development</i> - <a href="http://community.jboss.org/message/605120#605120">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hi David,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>First of all really nice demo. And I think we all agree that we want to see it working one day :-)</p><p>Mathieu and I have a long discussion about that and this is our thoughts.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The very first step is to mark the CDI service as publishable in the OSGi world. Here we have two options. First one, we put an annotation on the service implementation to mark it publishable (like Weld-OSGi @Publish). The other, as says Ales, is to publish all CDI beans as OSGi services and we agree when he says that this option sounds overkill.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span>Now that the service is marked has publishable, we need to publish it :-) One solution might be to create a pure CDI extension which scans the @Publish annotation and talk to an OSGi bridge (provided by the container, here the web container). But in the idea this bridge is not in the OSGi spirit. This bridge could offer an API with differents methods like register... (something like </span><a class="jive-link-external-small" href="https://gist.github.com/970202" target="_blank">https://gist.github.com/970202</a><span>). Here we can easily see that the symetric approach could be done with this stuff. It will be easy to inject OSGi services into a JavaEE application with this mechanism.</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>WDYT?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Another point is that this reflexion is not related to Weld-OSGi. I mean that this stuff was initially done to make Weld working in an OSGi container and to provide an extension based on it to simplify the use of OSGi with a CDI approach. Regarding your example, what do you think about adding a new bundle which consume the service B with Weld-OSGi?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Cheers,</p><p>Kevin &amp; Mathieu</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/605120#605120">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss AS7 Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2225">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>