I commented on the jira, let me know your feedback there.

Thank you.


On Sun, Mar 2, 2014 at 12:03 PM, Rajika Kumarasiri <
[email protected]> wrote:

> hello,
>
> I got the proposed POC working for
> https://issues.apache.org/jira/browse/MARMOTTA-408. It seems the jira is
> offline for maintenance so I will add the information here. I will copy
>  the same information into the jira when it's online.
>
> Please find the attached patch and the screenshot.
>
> The screenshot shows how I exposed the OS and JDK run-time
> information(similar to System->Statistics->System ) using a MBean from the
> newly developed JMX infrastructure.
>
>
> The classes;
> a). org.apache.marmotta.platform.core.api.jmx.JMXService
> b). org.apache.marmotta.platform.core.services.jmx.JMXServiceImpl
> c). org.apache.marmotta.platform.core.services.jmx.JMXRMIRegistryController
> d). org.apache.marmotta.platform.core.services.jmx.JMXMBeansRegister
> e). org.apache.marmotta.platform.core.services.jmx.JMXAdapter
>
> are responsible for #1 in the jira. The mentioned MBeanRegister API is
> defined in JMXMBeansRegister (d)). It has the APIs to register and
> unregister the MBeans. The other classes basically create a JMX connector
> and starts it with the platform. I consumed the SystemStartupEvent to
> start the JMX CDI service.
>
>
> The interface and class;
> a). org.apache.marmotta.platform.core.services.jmx.SystemStatisticsMBean
> b). org.apache.marmotta.platform.core.services.jmx.SystemStatistics
>
> are an example for #2. They collects the stats about the OS/JDK run time
> data and register them into  #1 using MBeans so that we can view that
> statistics using JConsole(or any other JMX client). This is what can be
> seen in the screen shot. I just implemented this logic inside
> org.apache.marmotta.platform.core.services.jmx.JMXServiceImpl itself but it
> should be implemented in each place where those stats will be collected
> (for example
> org.apache.marmotta.platform.core.services.statistics.system.SystemStatisticsModule).
>
> Now the next step is to identify various places, components or modules
> across the platform and other places and replace them with relevant MBeans
> and register them with the MBean server similar to #2 above. #1 also need
> to improve so that other jmx parameters can be configured(for example SSL
> connections).
>
> Do you think I am heading in the correct direction ? I would like to start
> writing my proposal based on this information once I compiled a list of
> places to have new MBeans to collect respective statistics. I am aware of
> JUnit and each of this new feature will be covered with a JUnit test case.
> Please let me know your feedback or any comment.
>
> Sorry for the long email. For sure if you prefer we can continue the
> discussion in the jira as well.
>
> Thank you.
>
>
>
>
> On Sun, Mar 2, 2014 at 10:17 AM, Rajika Kumarasiri <
> [email protected]> wrote:
>
>> hello,
>>
>> Thank you for your replies. I got this to work. I am reading about the
>> Weld framework as well.
>>
>> Thank you.
>>
>>
>> On Sat, Mar 1, 2014 at 3:37 AM, Jakob Frank <[email protected]> wrote:
>>
>>> Hi Rajika,
>>>
>>> if you want your CDI service to startup automatically (e.g. because it
>>> needs to register something somewhere) you should listen on the
>>> SystemStartupEvent which is fired once the system has come up
>>> completely:
>>>
>>> // trigger startup once configuration service is finished with
>>> initialisation
>>> public void initEvent(@Observes SystemStartupEvent e) {
>>>     // nop;
>>> }
>>>
>>> Best,
>>> Jakob
>>>
>>> On 28 February 2014 12:28, Rajika Kumarasiri
>>> <[email protected]> wrote:
>>> > helo Sergio,
>>> >
>>> > Thanks, will try that. Sure will provide a documentation enhancement
>>> patch
>>> > too.
>>> >
>>> > Thank you.
>>> >
>>> >
>>> > On Fri, Feb 28, 2014 at 2:38 AM, Sergio Fernández <
>>> > [email protected]> wrote:
>>> >
>>> >> Hi Rajika,
>>> >>
>>> >>
>>> >> On 28/02/14 06:23, Rajika Kumarasiri wrote:
>>> >>
>>> >>> I have created a new service for JMX(api and implementation) and now
>>> I
>>> >>> want
>>> >>> to start it with the server start up. Where should I register the
>>> service
>>> >>> so that JMX service will start at the server boot up time ?
>>> >>>
>>> >>
>>> >> The services are in the end CDI services (JSR346), using the JBoss
>>> Weld
>>> >> implementation.
>>> >>
>>> >> So you just need to add to your service class the annotation with the
>>> >> necessary scope, in this case @ApplicationScope. Then the platform
>>> will
>>> >> instantiate it, and you can normally use IoC with your new service in
>>> the
>>> >> rest of the platform.
>>> >>
>>> >> Further details at:
>>> >>
>>> >> http://marmotta.apache.org/platform
>>> >> http://docs.jboss.org/weld/reference/2.1.0.Final/en-US/html/
>>> >>
>>> >> If you miss anything else in the documentation, contributions there
>>> are
>>> >> also welcomed ;-)
>>> >>
>>> >> Cheers,
>>> >>
>>> >> --
>>> >> Sergio Fernández
>>> >> Senior Researcher
>>> >> Knowledge and Media Technologies
>>> >> Salzburg Research Forschungsgesellschaft mbH
>>> >> Jakob-Haringer-Straße 5/3 | 5020 Salzburg, Austria
>>> >> T: +43 662 2288 318 | M: +43 660 2747 925
>>> >> [email protected]
>>> >> http://www.salzburgresearch.at
>>> >>
>>>
>>
>>
>

Reply via email to