You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by rm...@apache.org on 2016/12/04 22:41:09 UTC
svn commit: r1772582 - in /openwebbeans/meecrowave/trunk: ./
meecrowave-core/ meecrowave-doc/src/main/jbake/content/
meecrowave-doc/src/main/jbake/content/meecrowave-jolokia/
meecrowave-jolokia/ meecrowave-jolokia/src/ meecrowave-jolokia/src/main/
meec...
Author: rmannibucau
Date: Sun Dec 4 22:41:08 2016
New Revision: 1772582
URL: http://svn.apache.org/viewvc?rev=1772582&view=rev
Log:
adding jolokia module
Added:
openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/meecrowave-jolokia/
openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/meecrowave-jolokia/index.adoc
openwebbeans/meecrowave/trunk/meecrowave-jolokia/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/pom.xml
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/java/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/java/org/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/java/org/apache/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/java/org/apache/meecrowave/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/java/org/apache/meecrowave/jolokia/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/java/org/apache/meecrowave/jolokia/JolokiaInitializer.java
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/resources/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/resources/META-INF/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/resources/META-INF/services/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/test/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/test/java/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/test/java/org/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/test/java/org/apache/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/test/java/org/apache/meecrowave/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/test/java/org/apache/meecrowave/jolokia/
openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/test/java/org/apache/meecrowave/jolokia/JolokiaInitializerTest.java
Modified:
openwebbeans/meecrowave/trunk/meecrowave-core/pom.xml
openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/components.adoc
openwebbeans/meecrowave/trunk/pom.xml
Modified: openwebbeans/meecrowave/trunk/meecrowave-core/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/pom.xml?rev=1772582&r1=1772581&r2=1772582&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-core/pom.xml (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-core/pom.xml Sun Dec 4 22:41:08 2016
@@ -32,16 +32,6 @@
<artifactId>meecrowave-core</artifactId>
<name>Meecrowave :: Core</name>
- <properties>
- <tomcat.version>9.0.0.M13</tomcat.version>
- <openwebbeans.version>1.7.1-SNAPSHOT</openwebbeans.version>
- <cxf.version>3.1.9-SNAPSHOT</cxf.version>
- <johnzon.version>0.9.5</johnzon.version>
- <log4j2.version>2.7</log4j2.version>
- <deltaspike.version>1.7.2</deltaspike.version>
- <jaxb.version>2.2.11</jaxb.version>
- </properties>
-
<dependencies>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
Modified: openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/components.adoc
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/components.adoc?rev=1772582&r1=1772581&r2=1772582&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/components.adoc (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/components.adoc Sun Dec 4 22:41:08 2016
@@ -41,3 +41,10 @@ link:{context_rootpath}/meecrowave-gradl
Meecrowave provides two main testing integration: a JUnit one and an Arquillian Container.
link:{context_rootpath}/testing/index.html[Read More]
+
+== Meecrowave and Monitoring
+
+Meecrowave provides few integration for the monitoring:
+
+link:{context_rootpath}/meecrowave-jolokia/index.html[Jolokia (JMX)]
+
Added: openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/meecrowave-jolokia/index.adoc
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/meecrowave-jolokia/index.adoc?rev=1772582&view=auto
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/meecrowave-jolokia/index.adoc (added)
+++ openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/meecrowave-jolokia/index.adoc Sun Dec 4 22:41:08 2016
@@ -0,0 +1,27 @@
+= Meecrowave Jolokia
+:jbake-date: 2016-12-04
+:jbake-type: page
+:jbake-status: published
+:jbake-meecrowavepdf:
+:jbake-meecrowavetitleicon: icon icon_puzzle_alt
+:jbake-meecrowavecolor: body-pink
+:icons: font
+
+Coordinates:
+
+[source,xml]
+----
+<dependency>
+ <groupId>org.apache.meecrowave</groupId>
+ <artifactId>meecrowave-jolokia</artifactId>
+ <version>${meecrowave.version}</version>
+</dependency>
+----
+
+It will deploy the jolokia servlet on `/jolokia/*` or the property `jolokia.web.mapping` set
+on the `Meecrowave.Builder`.
+
+IMPORTANT: don't forget to secure this endpoint cause it let you access all the JMX MBeans. See
+Meecrowave core configuration for more details.
+
+More on https://jolokia.org/reference/html/
Added: openwebbeans/meecrowave/trunk/meecrowave-jolokia/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-jolokia/pom.xml?rev=1772582&view=auto
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-jolokia/pom.xml (added)
+++ openwebbeans/meecrowave/trunk/meecrowave-jolokia/pom.xml Sun Dec 4 22:41:08 2016
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>meecrowave</artifactId>
+ <groupId>org.apache.meecrowave</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>meecrowave-jolokia</artifactId>
+ <name>Meecrowave :: Jolokia</name>
+
+ <properties>
+ <jolokia.version>2.0.0-M3</jolokia.version>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>tomcat-servlet-api</artifactId>
+ <version>${tomcat.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.meecrowave</groupId>
+ <artifactId>meecrowave-core</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jolokia</groupId>
+ <artifactId>jolokia-server-core</artifactId>
+ <version>${jolokia.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jolokia</groupId>
+ <artifactId>jolokia-service-serializer</artifactId>
+ <version>${jolokia.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jolokia</groupId>
+ <artifactId>jolokia-service-jmx</artifactId>
+ <version>${jolokia.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.meecrowave</groupId>
+ <artifactId>meecrowave-junit</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
Added: openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/java/org/apache/meecrowave/jolokia/JolokiaInitializer.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/java/org/apache/meecrowave/jolokia/JolokiaInitializer.java?rev=1772582&view=auto
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/java/org/apache/meecrowave/jolokia/JolokiaInitializer.java (added)
+++ openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/java/org/apache/meecrowave/jolokia/JolokiaInitializer.java Sun Dec 4 22:41:08 2016
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.meecrowave.jolokia;
+
+import org.apache.meecrowave.Meecrowave;
+import org.jolokia.server.core.http.AgentServlet;
+
+import javax.servlet.ServletContainerInitializer;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRegistration;
+import java.util.Set;
+
+import static java.util.Optional.ofNullable;
+
+public class JolokiaInitializer implements ServletContainerInitializer {
+ @Override
+ public void onStartup(final Set<Class<?>> set, final ServletContext servletContext) throws ServletException {
+ final Meecrowave.Builder builder = Meecrowave.Builder.class.cast(servletContext.getAttribute("meecrowave.configuration"));
+ final ServletRegistration.Dynamic jolokia = servletContext.addServlet("jolokia", AgentServlet.class);
+ jolokia.setLoadOnStartup(1);
+ final String mapping = ofNullable(builder.getProperties())
+ .map(p -> p.getProperty("jolokia.web.mapping"))
+ .orElse("/jolokia/*");
+ jolokia.addMapping(mapping);
+ servletContext.log("Installed Jolokia on " + mapping);
+ }
+}
Added: openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer?rev=1772582&view=auto
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer (added)
+++ openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer Sun Dec 4 22:41:08 2016
@@ -0,0 +1 @@
+org.apache.meecrowave.jolokia.JolokiaInitializer
Added: openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/test/java/org/apache/meecrowave/jolokia/JolokiaInitializerTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/test/java/org/apache/meecrowave/jolokia/JolokiaInitializerTest.java?rev=1772582&view=auto
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/test/java/org/apache/meecrowave/jolokia/JolokiaInitializerTest.java (added)
+++ openwebbeans/meecrowave/trunk/meecrowave-jolokia/src/test/java/org/apache/meecrowave/jolokia/JolokiaInitializerTest.java Sun Dec 4 22:41:08 2016
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.meecrowave.jolokia;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.meecrowave.junit.MeecrowaveRule;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.net.URL;
+import java.nio.charset.StandardCharsets;
+
+import static org.junit.Assert.assertTrue;
+
+public class JolokiaInitializerTest {
+ @ClassRule
+ public static final MeecrowaveRule RULE = new MeecrowaveRule();
+
+ @Test
+ public void run() throws IOException {
+ final String actual = IOUtils.toString(
+ new URL("http://localhost:" + RULE.getConfiguration().getHttpPort() + "/jolokia/read/java.lang:type=Memory/HeapMemoryUsage"),
+ StandardCharsets.UTF_8);
+ assertTrue(actual, actual.contains("\"status\":200"));
+ assertTrue(actual, actual.contains("\"mbean\":\"java.lang:type=Memory\""));
+ }
+}
Modified: openwebbeans/meecrowave/trunk/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/pom.xml?rev=1772582&r1=1772581&r2=1772582&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/pom.xml (original)
+++ openwebbeans/meecrowave/trunk/pom.xml Sun Dec 4 22:41:08 2016
@@ -41,6 +41,13 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junit.version>4.12</junit.version>
+ <tomcat.version>9.0.0.M13</tomcat.version>
+ <openwebbeans.version>1.7.1-SNAPSHOT</openwebbeans.version>
+ <cxf.version>3.1.9-SNAPSHOT</cxf.version>
+ <johnzon.version>0.9.5</johnzon.version>
+ <log4j2.version>2.7</log4j2.version>
+ <deltaspike.version>1.7.2</deltaspike.version>
+ <jaxb.version>2.2.11</jaxb.version>
</properties>
<modules>
@@ -50,6 +57,7 @@
<module>meecrowave-junit</module>
<module>meecrowave-arquillian</module>
<module>meecrowave-jpa</module>
+ <module>meecrowave-jolokia</module>
<module>meecrowave-doc</module>
</modules>