<!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: IronJacamar RHQ plugin development
</h3>
<span style="margin-bottom: 10px;">
created by <a href="http://community.jboss.org/people/jesper.pedersen">Jesper Pedersen</a> in <i>IronJacamar Development</i> - <a href="http://community.jboss.org/message/590675#590675">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><blockquote class="jive-quote"><p>1.  For the code structure, we will create 2 sub packages for implementation of AS7, ironjacamar standalone separately. The most common functions will be abstracted to the package: <strong><em>org.jboss.jca.rhq.core</em></strong>, </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p> And the build process will create 2 jars like:</p><ul><li>ironjacamar-rhq-plugin-as7.jar   // used in AS 7</li><li>ironjacamar-rhq-plugin-standalone.jar  // used in ironjacamar standalone mode</li></ul><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>except we can find a way to know which situation the current runtime environment is in.</p></blockquote><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>That is the job of the Discover process - default being a discovery against an in-vm instance. I'll take a look at this soon.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><blockquote class="jive-quote"><p>2. If the <strong><em>org.jboss.jca.core.api.management.ManagementRepository</em></strong> can be transferred to RHQ plugin in all situations, we can use it directly without abstracting our own model for this RHQ plugin. This class is used only for RHQ to discover JCA resources.</p></blockquote><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>ManagementRepository is the instance that lives in the same VM as the container, and will delegate all calls in-vm.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>So in case of a plugin connecting to a remove instance you'll need a "proxy" to handle that communication:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><pre class="jive-pre"><code class="jive-code">In-VM:
------
RHQ Plugin -> Embedded discovery -> ManagementRepository
Remote VM:
----------
RHQ Plugin -> Remote discovery -> Network transport -> RemoteManagementRepository -> ManagementRepository
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Of course we can have a facade for ManagementRepository in the plugin such that communication can be optimized in the remote scenario, since in some instances a query for configuration property names will limit network bandwidth.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>The ManagementRepository should always delegate calls to dynamic attributes and operations. In most cases we can handle that by supplying a WeakReference to the actual object, and just call directly. We just need to expose the information we need in the right locations - like the .api...Pool class.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>However, currently the focus on the purely embedded case - using IronJacamar/Embedded for testing, and IronJacamar/AS7 for real data.</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/590675#590675">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in IronJacamar Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2099">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>