Skip to content

Commit e2e0a1a

Browse files
authored
Merge pull request #5 from newrelic-experimental/add_ws_7
Add ws 7
2 parents e2d65f0 + cb0e77a commit e2e0a1a

File tree

6 files changed

+248
-4
lines changed

6 files changed

+248
-4
lines changed

settings.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ include 'spring-integration-core-4.0.0'
66
include 'spring-integration-core-5.1.0'
77
include 'spring-integration-core-5.3.0'
88
include 'spring-integration-ws-4.0.0'
9+
include 'spring-integration-ws-7.0.0'
910
include 'spring-integration-ip-4.0.0'
1011
include 'spring-integration-ip-7.0.0'
1112
include 'spring-messaging-5.2.0'

spring-integration-ws-4.0.0/build.gradle

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@ dependencies {
1010
implementation 'org.springframework.integration:spring-integration-ws:4.0.0.RELEASE'
1111

1212
// New Relic Labs Java Agent dependencies
13-
implementation 'com.newrelic.agent.java:newrelic-agent:6.4.0'
14-
implementation 'com.newrelic.agent.java:newrelic-api:6.4.0'
15-
implementation fileTree(include: ['*.jar'], dir: '../libs')
13+
implementation 'com.newrelic.agent.java:newrelic-agent:8.4.0'
14+
implementation 'com.newrelic.agent.java:newrelic-api:8.4.0'
1615
implementation fileTree(include: ['*.jar'], dir: '../test-lib')
1716
}
1817

@@ -26,6 +25,6 @@ jar {
2625
}
2726

2827
verifyInstrumentation {
29-
passesOnly 'org.springframework.integration:spring-integration-ws:[4.0.0,)'
28+
passesOnly 'org.springframework.integration:spring-integration-ws:[4.0.0,7.0.0)'
3029
excludeRegex '.*RC[0-9]'
3130
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
2+
// Build.gradle generated for instrumentation module Spring-Integration-WS-4.0.0
3+
4+
apply plugin: 'java'
5+
6+
targetCompatibility=JavaVersion.VERSION_17
7+
8+
dependencies {
9+
implementation 'org.springframework.integration:spring-integration-ws:7.0.0'
10+
implementation 'org.springframework:spring-messaging:7.0.0'
11+
12+
// New Relic Labs Java Agent dependencies
13+
implementation 'com.newrelic.agent.java:newrelic-agent:8.4.0'
14+
implementation 'com.newrelic.agent.java:newrelic-api:8.4.0'
15+
implementation fileTree(include: ['*.jar'], dir: '../test-lib')
16+
}
17+
18+
jar {
19+
manifest {
20+
attributes 'Implementation-Title': 'com.newrelic.instrumentation.labs.spring-integration-ws-7.0.0'
21+
attributes 'Implementation-Vendor': 'New Relic Labs'
22+
attributes 'Implementation-Vendor-Id': 'com.newrelic.labs'
23+
attributes 'Implementation-Version': 1.0
24+
}
25+
}
26+
27+
verifyInstrumentation {
28+
passesOnly 'org.springframework.integration:spring-integration-ws:[7.0.0,)'
29+
excludeRegex '.*RC[0-9]'
30+
}
Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module relativePaths="true" type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager" inherit-compiler-output="true" LANGUAGE_LEVEL="JDK_1_8">
4+
<exclude-output/>
5+
<orderEntry type="inheritedJdk"/>
6+
<content url="file://$MODULE_DIR$/">
7+
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false"/>
8+
<excludeFolder url="file://$MODULE_DIR$/.gradle"/>
9+
<excludeFolder url="file://$MODULE_DIR$/build"/>
10+
</content>
11+
<orderEntry type="sourceFolder" forTests="false"/>
12+
<orderEntry type="module-library">
13+
<library>
14+
<CLASSES>
15+
<root url="jar:///Users/dhilpipre/.gradle/caches/modules-2/files-2.1/com.newrelic.agent.java/newrelic-agent/6.4.0/716c0521d4baa12d9f2b0a005e1ee06a9c180214/newrelic-agent-6.4.0.jar!/"/>
16+
</CLASSES>
17+
<JAVADOC/>
18+
<SOURCES>
19+
<root url="jar:///Users/dhilpipre/.gradle/caches/modules-2/files-2.1/com.newrelic.agent.java/newrelic-agent/6.4.0/e640c171a471a3cf07a6ab7c248640ffc9e10953/newrelic-agent-6.4.0-sources.jar!/"/>
20+
</SOURCES>
21+
</library>
22+
</orderEntry>
23+
<orderEntry type="module-library">
24+
<library>
25+
<CLASSES>
26+
<root url="jar:///Users/dhilpipre/.m2/repository/com/newrelic/agent/java/newrelic-api/6.4.0/newrelic-api-6.4.0.jar!/"/>
27+
</CLASSES>
28+
<JAVADOC/>
29+
<SOURCES>
30+
<root url="jar:///Users/dhilpipre/.m2/repository/com/newrelic/agent/java/newrelic-api/6.4.0/newrelic-api-6.4.0-sources.jar!/"/>
31+
</SOURCES>
32+
</library>
33+
</orderEntry>
34+
<orderEntry type="module-library">
35+
<library>
36+
<CLASSES>
37+
<root url="jar:///Users/dhilpipre/.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-impl/4.0.6/e81f27d58c769414bbc1ce88ddfb2cf822c8fa20/jaxb-impl-4.0.6.jar!/"/>
38+
</CLASSES>
39+
<JAVADOC/>
40+
<SOURCES>
41+
<root url="jar:///Users/dhilpipre/.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-impl/4.0.6/8930015861b47410dd5cbe6527ea78d52056cc9c/jaxb-impl-4.0.6-sources.jar!/"/>
42+
</SOURCES>
43+
</library>
44+
</orderEntry>
45+
<orderEntry type="module-library">
46+
<library>
47+
<CLASSES>
48+
<root url="jar:///Users/dhilpipre/.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-core/4.0.6/e3e1a6a8b0bb31c4304118a18bafa06cfb19a03c/jaxb-core-4.0.6.jar!/"/>
49+
</CLASSES>
50+
<JAVADOC/>
51+
<SOURCES>
52+
<root url="jar:///Users/dhilpipre/.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-core/4.0.6/4d4aa282fff67c65423be09feb2c066bed9b7ed4/jaxb-core-4.0.6-sources.jar!/"/>
53+
</SOURCES>
54+
</library>
55+
</orderEntry>
56+
<orderEntry type="module-library">
57+
<library>
58+
<CLASSES>
59+
<root url="jar:///Users/dhilpipre/.gradle/caches/modules-2/files-2.1/jakarta.xml.bind/jakarta.xml.bind-api/4.0.4/d6d2327f3817d9a33a3b6b8f2e15a96bc2e7afdc/jakarta.xml.bind-api-4.0.4.jar!/"/>
60+
</CLASSES>
61+
<JAVADOC/>
62+
<SOURCES>
63+
<root url="jar:///Users/dhilpipre/.gradle/caches/modules-2/files-2.1/jakarta.xml.bind/jakarta.xml.bind-api/4.0.4/3e42a6a67668446432c858ca8b88431db158fb8b/jakarta.xml.bind-api-4.0.4-sources.jar!/"/>
64+
</SOURCES>
65+
</library>
66+
</orderEntry>
67+
<orderEntry type="module-library">
68+
<library>
69+
<CLASSES>
70+
<root url="jar:///Users/dhilpipre/.m2/repository/jakarta/activation/jakarta.activation-api/2.1.4/jakarta.activation-api-2.1.4.jar!/"/>
71+
</CLASSES>
72+
<JAVADOC/>
73+
<SOURCES>
74+
<root url="jar:///Users/dhilpipre/.m2/repository/jakarta/activation/jakarta.activation-api/2.1.4/jakarta.activation-api-2.1.4-sources.jar!/"/>
75+
</SOURCES>
76+
</library>
77+
</orderEntry>
78+
<orderEntry type="module-library">
79+
<library>
80+
<CLASSES>
81+
<root url="jar:///Users/dhilpipre/Open-Source/newrelic-java-spring-integration/libs/agent-bridge-datastore.jar!/"/>
82+
</CLASSES>
83+
<JAVADOC/>
84+
<SOURCES/>
85+
</library>
86+
</orderEntry>
87+
<orderEntry type="module-library">
88+
<library>
89+
<CLASSES>
90+
<root url="jar:///Users/dhilpipre/Open-Source/newrelic-java-spring-integration/libs/agent-bridge.jar!/"/>
91+
</CLASSES>
92+
<JAVADOC/>
93+
<SOURCES/>
94+
</library>
95+
</orderEntry>
96+
<orderEntry type="module-library">
97+
<library>
98+
<CLASSES>
99+
<root url="jar:///Users/dhilpipre/Open-Source/newrelic-java-spring-integration/libs/newrelic-agent-6.4.0.jar!/"/>
100+
</CLASSES>
101+
<JAVADOC/>
102+
<SOURCES/>
103+
</library>
104+
</orderEntry>
105+
<orderEntry type="module-library">
106+
<library>
107+
<CLASSES>
108+
<root url="jar:///Users/dhilpipre/Open-Source/newrelic-java-spring-integration/libs/newrelic-weaver-scala-api.jar!/"/>
109+
</CLASSES>
110+
<JAVADOC/>
111+
<SOURCES/>
112+
</library>
113+
</orderEntry>
114+
<orderEntry type="module-library">
115+
<library>
116+
<CLASSES>
117+
<root url="jar:///Users/dhilpipre/Open-Source/newrelic-java-spring-integration/libs/newrelic-weaver-api.jar!/"/>
118+
</CLASSES>
119+
<JAVADOC/>
120+
<SOURCES/>
121+
</library>
122+
</orderEntry>
123+
<orderEntry type="module-library">
124+
<library>
125+
<CLASSES>
126+
<root url="jar:///Users/dhilpipre/Open-Source/newrelic-java-spring-integration/libs/newrelic-api.jar!/"/>
127+
</CLASSES>
128+
<JAVADOC/>
129+
<SOURCES/>
130+
</library>
131+
</orderEntry>
132+
<orderEntry type="module-library">
133+
<library>
134+
<CLASSES>
135+
<root url="jar:///Users/dhilpipre/Open-Source/newrelic-java-spring-integration/test-lib/instrumentation-test.jar!/"/>
136+
</CLASSES>
137+
<JAVADOC/>
138+
<SOURCES/>
139+
</library>
140+
</orderEntry>
141+
<orderEntry type="module-library" scope="RUNTIME">
142+
<library>
143+
<CLASSES>
144+
<root url="jar:///Users/dhilpipre/.gradle/caches/modules-2/files-2.1/org.eclipse.angus/angus-activation/2.0.3/7f80607ea5014fef0b1779e6c33d63a88a45a563/angus-activation-2.0.3.jar!/"/>
145+
</CLASSES>
146+
<JAVADOC/>
147+
<SOURCES>
148+
<root url="jar:///Users/dhilpipre/.gradle/caches/modules-2/files-2.1/org.eclipse.angus/angus-activation/2.0.3/2639ddee2a9fc3d0cfa64a5a4226394089c1f97c/angus-activation-2.0.3-sources.jar!/"/>
149+
</SOURCES>
150+
</library>
151+
</orderEntry>
152+
<orderEntry type="module-library" scope="TEST">
153+
<library>
154+
<CLASSES>
155+
<root url="jar:///Users/dhilpipre/.m2/repository/org/nanohttpd/nanohttpd/2.3.1/nanohttpd-2.3.1.jar!/"/>
156+
</CLASSES>
157+
<JAVADOC/>
158+
<SOURCES>
159+
<root url="jar:///Users/dhilpipre/.m2/repository/org/nanohttpd/nanohttpd/2.3.1/nanohttpd-2.3.1-sources.jar!/"/>
160+
</SOURCES>
161+
</library>
162+
</orderEntry>
163+
<orderEntry type="module-library" scope="TEST">
164+
<library>
165+
<CLASSES>
166+
<root url="jar:///Users/dhilpipre/.gradle/caches/modules-2/files-2.1/org.eclipse.angus/angus-activation/2.0.3/7f80607ea5014fef0b1779e6c33d63a88a45a563/angus-activation-2.0.3.jar!/"/>
167+
</CLASSES>
168+
<JAVADOC/>
169+
<SOURCES>
170+
<root url="jar:///Users/dhilpipre/.gradle/caches/modules-2/files-2.1/org.eclipse.angus/angus-activation/2.0.3/2639ddee2a9fc3d0cfa64a5a4226394089c1f97c/angus-activation-2.0.3-sources.jar!/"/>
171+
</SOURCES>
172+
</library>
173+
</orderEntry>
174+
</component>
175+
<component name="ModuleRootManager"/>
176+
</module>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.springframework.integration.ws.inbound;
2+
3+
import org.springframework.ws.context.MessageContext;
4+
5+
import com.newrelic.api.agent.NewRelic;
6+
import com.newrelic.api.agent.Trace;
7+
import com.newrelic.api.agent.weaver.MatchType;
8+
import com.newrelic.api.agent.weaver.Weave;
9+
import com.newrelic.api.agent.weaver.Weaver;
10+
11+
@Weave(type=MatchType.BaseClass, originalName = "org.springframework.integration.ws.inbound.AbstractWebServiceInboundGateway")
12+
public abstract class AbstractWebServiceInboundGateway_Instrumentation {
13+
14+
@Trace(dispatcher=true)
15+
protected void doInvoke(MessageContext messageContext) {
16+
NewRelic.getAgent().getTracedMethod().setMetricName(new String[] {"Custom","AbstractWebServiceInboundGateway",getClass().getSimpleName(),"doInvoke"});
17+
Weaver.callOriginal();
18+
}
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.springframework.integration.ws.outbound;
2+
3+
import org.springframework.messaging.Message;
4+
5+
import com.newrelic.api.agent.NewRelic;
6+
import com.newrelic.api.agent.Trace;
7+
import com.newrelic.api.agent.weaver.MatchType;
8+
import com.newrelic.api.agent.weaver.Weave;
9+
import com.newrelic.api.agent.weaver.Weaver;
10+
11+
@Weave(type=MatchType.BaseClass, originalName = "org.springframework.integration.ws.outbound.AbstractWebServiceOutboundGateway")
12+
public abstract class AbstractWebServiceOutboundGateway_Instrumentation {
13+
14+
@Trace(dispatcher=true)
15+
public Object handleRequestMessage(Message<?> requestMessage) {
16+
NewRelic.getAgent().getTracedMethod().setMetricName(new String[] {"Custom","AbstractWebServiceOutboundGateway",getClass().getSimpleName(),"handleRequestMessage"});
17+
return Weaver.callOriginal();
18+
}
19+
}

0 commit comments

Comments
 (0)