first commit

This commit is contained in:
wangge 2020-09-08 18:09:29 +08:00
parent a8bda47484
commit 78a90a9372
8 changed files with 344 additions and 0 deletions

86
0001-fix-pom.xml.patch Normal file
View File

@ -0,0 +1,86 @@
From 6d907463edb485f6105ed9c9e8e5962cf80964db Mon Sep 17 00:00:00 2001
From: wangge <wang__ge@126.com>
Date: Tue, 8 Sep 2020 17:16:24 +0800
Subject: [PATCH] fix pom.xml
---
pom.xml | 55 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 46 insertions(+), 9 deletions(-)
diff --git a/pom.xml b/pom.xml
index b654a2a..da7ec97 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,17 +1,10 @@
<project>
<modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.sonatype.oss</groupId>
- <artifactId>oss-parent</artifactId>
- <version>7</version>
- </parent>
-
<groupId>com.jamonapi</groupId>
<artifactId>jamon</artifactId>
<packaging>jar</packaging>
<name>JAMon (Java Application Monitor)</name>
- <version>2.75</version>
+ <version>2.74</version>
<description>The Java Application Monitor (JAMon) is a free, simple, high performance, thread safe, Java API that allows developers to easily monitor production applications.
@@ -42,4 +35,48 @@
</developer>
</developers>
-</project>
\ No newline at end of file
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ <inherited>true</inherited>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>3.0.1</version>
+ <configuration>
+ <additionalparam>
+ -Xdoclint:none
+ </additionalparam>
+ <failOnError>false</failOnError>
+ </configuration>
+ </plugin>
+ </plugins>
+ <sourceDirectory>java</sourceDirectory>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>tomcat-catalina</artifactId>
+ <version>7.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>tomcat-servlet-api</artifactId>
+ <version>7.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-util</artifactId>
+ <version>9.0.3</version>
+ </dependency>
+ </dependencies>
+</project>
--
2.23.0

45
jamon-2.75.pom Normal file
View File

@ -0,0 +1,45 @@
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
<groupId>com.jamonapi</groupId>
<artifactId>jamon</artifactId>
<packaging>jar</packaging>
<name>JAMon (Java Application Monitor)</name>
<version>2.75</version>
<description>The Java Application Monitor (JAMon) is a free, simple, high performance, thread safe, Java API that allows developers to easily monitor production applications.
1) It contains the ability to monitor JDBC/SQL, web page requests, ejb's, log4j, interfaces and more.
2) It tracks aggregate stats for each sql statement, page request etc. and also lets you look at this information and more via the JAMon war.
3) You can also access JAMon statistics via the api
</description>
<url>http://jamonapi.sourceforge.net/</url>
<licenses>
<license>
<name>JAMon License (BSD)</name>
<url>http://jamonapi.sourceforge.net/JAMonLicense.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>http://jamonapi.cvs.sourceforge.net/viewvc/jamonapi/jamonapi/src/java/com/jamonapi/</url>
<connection>scm:cvs:pserver:anonymous@jamonapi.cvs.sourceforge.net:/cvsroot/jamonapi</connection>
</scm>
<developers>
<developer>
<id>stevesouza</id>
<name>Steve Souza</name>
<email>admin@jamonapi.com</email>
</developer>
</developers>
</project>

BIN
jamonall-2.74.zip Normal file

Binary file not shown.

Binary file not shown.

93
jamonapi-jetty8.patch Normal file
View File

@ -0,0 +1,93 @@
diff -urN jamonapi/src/java/com/jamonapi/http/JAMonJettyHandler.java jamonapi.new/src/java/com/jamonapi/http/JAMonJettyHandler.java
--- jamonapi/src/java/com/jamonapi/http/JAMonJettyHandler.java 2007-09-19 00:37:15.000000000 -0400
+++ jamonapi.new/src/java/com/jamonapi/http/JAMonJettyHandler.java 2012-02-07 06:04:03.254800508 -0500
@@ -11,10 +11,10 @@
import javax.servlet.http.HttpServletResponse;
-import org.mortbay.jetty.HttpConnection;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Response;
-import org.mortbay.jetty.handler.HandlerWrapper;
+import org.eclipse.jetty.server.BlockingHttpConnection;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Response;
+import org.eclipse.jetty.server.handler.HandlerWrapper;
public class JAMonJettyHandler extends HandlerWrapper implements HttpMonManage{
@@ -30,14 +30,15 @@
/** Monitor the request and call any other requests in the decorator chain */
public void handle(String target, HttpServletRequest request, HttpServletResponse response, int dispatch) throws IOException, ServletException {
- final Request baseRequest = (request instanceof Request) ? ((Request)request) : HttpConnection.getCurrentConnection().getRequest();
- final Response baseResponse = (response instanceof Response) ? ((Response)response) : HttpConnection.getCurrentConnection().getResponse();
+ final Request baseRequest = (request instanceof Request) ? ((Request)request) : BlockingHttpConnection.getCurrentConnection().getRequest();
+ final Response baseResponse = (response instanceof Response) ? ((Response)response) : BlockingHttpConnection.getCurrentConnection().getResponse();
HttpMon httpMon=null;
try {
httpMon=httpMonFactory.start(baseRequest, baseResponse);
- super.handle(target, request, response, dispatch);
+ // XXX - verify correctness of these arguments
+ super.handle(target, baseRequest, request, response);
} catch (Throwable e) {
httpMon.throwException(e);
} finally {
diff -urN jamonapi/src/java/com/jamonapi/http/JettyHttpMonItem.java jamonapi.new/src/java/com/jamonapi/http/JettyHttpMonItem.java
--- jamonapi/src/java/com/jamonapi/http/JettyHttpMonItem.java 2007-09-19 00:37:15.000000000 -0400
+++ jamonapi.new/src/java/com/jamonapi/http/JettyHttpMonItem.java 2012-02-07 05:47:46.287890545 -0500
@@ -5,7 +5,7 @@
*/
import com.jamonapi.Monitor;
import com.jamonapi.MonitorFactory;
-import org.mortbay.jetty.Request;
+import org.eclipse.jetty.server.Request;
class JettyHttpMonItem extends HttpMonItem {
diff -urN jamonapi/src/java/com/jamonapi/proxy/JAMonDataSource.java jamonapi.new/src/java/com/jamonapi/proxy/JAMonDataSource.java
--- jamonapi/src/java/com/jamonapi/proxy/JAMonDataSource.java 2011-07-21 10:27:30.000000000 -0400
+++ jamonapi.new/src/java/com/jamonapi/proxy/JAMonDataSource.java 2012-02-07 06:00:09.744821359 -0500
@@ -4,6 +4,8 @@
import java.io.Serializable;
import java.sql.Connection;
import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
+import java.util.logging.Logger;
import javax.sql.*;
import javax.naming.Referenceable;
@@ -79,4 +81,8 @@
return realDataSource.unwrap(arg0);
}
+ public Logger getParentLogger() throws SQLFeatureNotSupportedException {
+ throw new SQLFeatureNotSupportedException();
+ }
+
}
diff -urN jamonapi/src/java/com/jamonapi/proxy/JAMonDriver.java jamonapi.new/src/java/com/jamonapi/proxy/JAMonDriver.java
--- jamonapi/src/java/com/jamonapi/proxy/JAMonDriver.java 2011-08-02 17:48:16.000000000 -0400
+++ jamonapi.new/src/java/com/jamonapi/proxy/JAMonDriver.java 2012-02-07 06:01:13.931815788 -0500
@@ -4,7 +4,7 @@
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-
+import java.util.logging.Logger;
import java.sql.*;
@@ -245,6 +245,10 @@
}
+ public Logger getParentLogger() throws SQLFeatureNotSupportedException {
+ throw new SQLFeatureNotSupportedException();
+ }
+
}

22
jamonapi-jetty93.patch Normal file
View File

@ -0,0 +1,22 @@
diff -Nru jamonapi/src/java/com/jamonapi/http/JAMonJettyHandler.java jamonapi.jetty9/src/java/com/jamonapi/http/JAMonJettyHandler.java
--- jamonapi/src/java/com/jamonapi/http/JAMonJettyHandler.java 2015-06-24 18:34:23.564257692 +0200
+++ jamonapi.jetty9/src/java/com/jamonapi/http/JAMonJettyHandler.java 2015-06-24 18:04:20.269305987 +0200
@@ -11,7 +11,6 @@
import javax.servlet.http.HttpServletResponse;
-import org.eclipse.jetty.server.BlockingHttpConnection;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Response;
import org.eclipse.jetty.server.handler.HandlerWrapper;
@@ -30,8 +29,8 @@
/** Monitor the request and call any other requests in the decorator chain */
public void handle(String target, HttpServletRequest request, HttpServletResponse response, int dispatch) throws IOException, ServletException {
- final Request baseRequest = (request instanceof Request) ? ((Request)request) : BlockingHttpConnection.getCurrentConnection().getRequest();
- final Response baseResponse = (response instanceof Response) ? ((Response)response) : BlockingHttpConnection.getCurrentConnection().getResponse();
+ final Request baseRequest = Request.getBaseRequest(request);
+ final Response baseResponse = baseRequest.getResponse();
HttpMon httpMon=null;
try {

94
jamonapi.spec Normal file
View File

@ -0,0 +1,94 @@
%global oname jamon
Name: jamonapi
Version: 2.74
Release: 1
Summary: A Java monitoring API
License: BSD
URL: http://jamonapi.sourceforge.net/
Source0: https://sourceforge.net/projects/%{name}/files/%{name}/v2_74/jamonall-%{version}.zip
Source1: https://repo1.maven.org/maven2/com/%{name}/%{oname}/2.75/%{oname}-2.75.pom
#git clone https://git.code.sf.net/p/jamonapi/jamonapi jamonapi-jamonapi
#cd jamonapi-jamonapi/src
#tar -cvf jamonapi-JAMonUsersGuide.tar.gz JAMonUsersGuide
Source2: jamonapi-JAMonUsersGuide.tar.gz
Patch0: 0001-fix-pom.xml.patch
Patch1: %{name}-jetty8.patch
Patch2: %{name}-jetty93.patch
BuildRequires: maven-local jetty-util tomcat
BuildRequires: mvn(org.apache.maven.plugins:maven-javadoc-plugin)
Requires: geronimo-interceptor log4j12
BuildArch: noarch
%description
JAMon API is a free, simple, high performance, thread safe,
Java API that allows developers to easily monitor the
performance and scalability of production applications. JAMon
tracks hits, execution times (total, avg, min, max, std dev),
and more.
%package javadoc
Summary: API documentation for %{name}
%description javadoc
This package contains API documentation for Java monitoring API.
%prep
%setup -q -c -n %{name}
rm -rf binaries
rm -rf javadoc
mkdir -p ./src/
mv ./java ./src/
mv ./osmon ./src/
cp %{SOURCE1} ./pom.xml
cp %{SOURCE2} ./src/
pushd ./src
tar -xvf %{name}-JAMonUsersGuide.tar.gz
rm -f %{name}-JAMonUsersGuide.tar.gz
popd
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
%mvn_build
%install
%mvn_install
cp %{buildroot}%{_datadir}/maven-poms/jamonapi/jamon.pom %{buildroot}%{_datadir}/maven-poms/jamonapi.pom
mv %{buildroot}%{_datadir}/maven-poms/jamonapi/jamon.pom %{buildroot}%{_datadir}/maven-poms/
rm -rf %{buildroot}/maven-poms/jamonapi/
cp %{buildroot}%{_javadir}/jamonapi/jamon.jar %{buildroot}%{_javadir}/jamonapi.jar
mv %{buildroot}%{_javadir}/jamonapi/jamon.jar %{buildroot}%{_javadir}/
rm -rf %{buildroot}%{_javadir}/jamonapi/
mkdir -p %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/http/
mkdir -p %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/log4j/
mkdir -p %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/proxy/
mkdir -p %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/utils/
install -D -p -m -r %{_builddir}/%{name}/javadocs/*.* %{buildroot}%{_javadocdir}/jamonapi/
chmod 644 %{buildroot}%{_javadocdir}/jamonapi/*.*
install -D -p -m -r %{_builddir}/%{name}/javadocs/com/jamonapi/*.* %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/
chmod 644 %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/*.*
install -D -p -m -r %{_builddir}/%{name}/javadocs/com/jamonapi/http/*.* %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/http/
chmod 644 %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/http/*.*
install -D -p -m -r %{_builddir}/%{name}/javadocs/com/jamonapi/log4j/*.* %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/log4j/
chmod 644 %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/log4j/*.*
install -D -p -m -r %{_builddir}/%{name}/javadocs/com/jamonapi/proxy/*.* %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/proxy/
chmod 644 %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/proxy/*.*
install -D -p -m -r %{_builddir}/%{name}/javadocs/com/jamonapi/utils/*.* %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/utils/
chmod 644 %{buildroot}%{_javadocdir}/jamonapi/com/jamonapi/utils/*.*
%files
%attr(0644,root,root) /usr/share/maven-metadata/jamonapi.xml
%attr(0755,root,root) /usr/share/java/jamon.jar
%attr(0755,root,root) /usr/share/java/jamonapi.jar
%attr(0644,root,root) /usr/share/maven-poms/jamon.pom
%attr(0644,root,root) /usr/share/maven-poms/jamonapi.pom
%doc src/JAMonUsersGuide
%license src/JAMonUsersGuide/JAMonLicense.html
%files javadoc
%defattr (-,root,root,0755)
/usr/share/javadoc/jamonapi
%license src/JAMonUsersGuide/JAMonLicense.html
%changelog
* Sat Sep 5 2020 Ge Wang <wangge20@huawei.com> - 2.74-1
- Package init

4
jamonapi.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: NA
src_repo: NA
tag_prefix: NA
seperator: NA