Skip to content

Commit 8f6e8e1

Browse files
authored
Merge pull request #3 from solonlab/main
feat(solon-webrx): Add solon-webrx adaptive
2 parents 9f4d6b6 + 5980642 commit 8f6e8e1

6 files changed

Lines changed: 607 additions & 0 deletions

File tree

mcp-solon/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
## solon is a java enterprise application development framework similar to spring.
2+
3+
There is no java-ee. Compared to the spring framework:
4+
5+
* more concurrency (300%),
6+
* less memory (50%),
7+
* faster startup (1000%),
8+
* smaller packaging (10%),
9+
* support for java8 ~ java24, native runtime.
10+
11+
12+
github:
13+
14+
* https://github.com/opensolon/solon
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Solon WebRx SSE Server Transport
2+
3+
```xml
4+
<dependency>
5+
<groupId>io.modelcontextprotocol.sdk</groupId>
6+
<artifactId>mcp-solon-webrx</artifactId>
7+
</dependency>
8+
```
9+
10+
11+
```java
12+
String MESSAGE_ENDPOINT = "/mcp/message";
13+
14+
@Configuration
15+
static class MyConfig {
16+
17+
@Bean
18+
public WebRxSseServerTransportProvider webMvcSseServerTransport() {
19+
return WebRxSseServerTransportProvider.builder()
20+
.objectMapper(new ObjectMapper())
21+
.messageEndpoint(MESSAGE_ENDPOINT)
22+
.build();
23+
}
24+
25+
@Bean
26+
public void routerFunction(WebRxSseServerTransportProvider transport, AppContext context) {
27+
transport.toHttpHandler(context.app());
28+
}
29+
}
30+
```

mcp-solon/mcp-solon-webrx/pom.xml

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
<parent>
7+
<groupId>io.modelcontextprotocol.sdk.j8</groupId>
8+
<artifactId>mcp-parent</artifactId>
9+
<version>0.8.1</version>
10+
<relativePath>../../pom.xml</relativePath>
11+
</parent>
12+
<artifactId>mcp-solon-webrx</artifactId>
13+
<packaging>jar</packaging>
14+
<name>Solon WebRx implementation of the Java MCP SSE transport</name>
15+
<description></description>
16+
<url>https://github.com/modelcontextprotocol/java-sdk</url>
17+
18+
<scm>
19+
<url>https://github.com/modelcontextprotocol/java-sdk</url>
20+
<connection>git://github.com/modelcontextprotocol/java-sdk.git</connection>
21+
<developerConnection>git@github.com/modelcontextprotocol/java-sdk.git</developerConnection>
22+
</scm>
23+
24+
<dependencies>
25+
<dependency>
26+
<groupId>io.modelcontextprotocol.sdk.j8</groupId>
27+
<artifactId>mcp</artifactId>
28+
<version>0.8.1</version>
29+
</dependency>
30+
31+
<dependency>
32+
<groupId>io.modelcontextprotocol.sdk</groupId>
33+
<artifactId>mcp-test</artifactId>
34+
<version>0.8.1</version>
35+
<scope>test</scope>
36+
</dependency>
37+
38+
<dependency>
39+
<groupId>org.noear</groupId>
40+
<artifactId>solon-web-rx</artifactId>
41+
<version>${solon.version}</version>
42+
</dependency>
43+
44+
<dependency>
45+
<groupId>org.noear</groupId>
46+
<artifactId>solon-web-sse</artifactId>
47+
<version>${solon.version}</version>
48+
</dependency>
49+
50+
<dependency>
51+
<groupId>org.noear</groupId>
52+
<artifactId>solon-net-httputils</artifactId>
53+
<version>${solon.version}</version>
54+
<scope>test</scope>
55+
</dependency>
56+
57+
<dependency>
58+
<groupId>org.noear</groupId>
59+
<artifactId>solon-logging-simple</artifactId>
60+
<version>${solon.version}</version>
61+
<scope>test</scope>
62+
</dependency>
63+
64+
<dependency>
65+
<groupId>org.noear</groupId>
66+
<artifactId>solon-lib</artifactId>
67+
<version>${solon.version}</version>
68+
<scope>test</scope>
69+
</dependency>
70+
71+
<dependency>
72+
<groupId>org.noear</groupId>
73+
<artifactId>solon-boot-jetty</artifactId>
74+
<version>${solon.version}</version>
75+
<scope>test</scope>
76+
</dependency>
77+
78+
<dependency>
79+
<groupId>org.assertj</groupId>
80+
<artifactId>assertj-core</artifactId>
81+
<version>${assert4j.version}</version>
82+
<scope>test</scope>
83+
</dependency>
84+
85+
<dependency>
86+
<groupId>org.junit.jupiter</groupId>
87+
<artifactId>junit-jupiter-api</artifactId>
88+
<version>${junit.version}</version>
89+
<scope>test</scope>
90+
</dependency>
91+
92+
<dependency>
93+
<groupId>org.mockito</groupId>
94+
<artifactId>mockito-core</artifactId>
95+
<version>${mockito.version}</version>
96+
<scope>test</scope>
97+
</dependency>
98+
99+
<dependency>
100+
<groupId>io.projectreactor</groupId>
101+
<artifactId>reactor-test</artifactId>
102+
<scope>test</scope>
103+
</dependency>
104+
105+
<dependency>
106+
<groupId>org.testcontainers</groupId>
107+
<artifactId>junit-jupiter</artifactId>
108+
<version>${testcontainers.version}</version>
109+
<scope>test</scope>
110+
</dependency>
111+
112+
<dependency>
113+
<groupId>org.awaitility</groupId>
114+
<artifactId>awaitility</artifactId>
115+
<version>${awaitility.version}</version>
116+
<scope>test</scope>
117+
</dependency>
118+
119+
<dependency>
120+
<groupId>org.junit.jupiter</groupId>
121+
<artifactId>junit-jupiter-params</artifactId>
122+
<version>${junit-jupiter.version}</version>
123+
<scope>test</scope>
124+
</dependency>
125+
</dependencies>
126+
127+
<repositories>
128+
<repository>
129+
<id>sonatype-nexus-snapshots</id>
130+
<name>Sonatype Nexus Snapshots</name>
131+
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
132+
<releases>
133+
<enabled>false</enabled>
134+
</releases>
135+
</repository>
136+
</repositories>
137+
<pluginRepositories>
138+
<pluginRepository>
139+
<id>sonatype-nexus-snapshots</id>
140+
<name>Sonatype Nexus Snapshots</name>
141+
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
142+
<releases>
143+
<enabled>false</enabled>
144+
</releases>
145+
</pluginRepository>
146+
</pluginRepositories>
147+
</project>

0 commit comments

Comments
 (0)