Skip to content

Commit 47e4d98

Browse files
committed
refactor(framework): 移除 smart-servlet 相关代码并升级依赖
- 移除了 JsonUtil.java 中的全部实现代码 - 移除了 MultipleQueriesHandler.java 中的全部实现代码 - 移除了 SingleQueryHandler.java 中的全部实现代码 - 移除了 UpdateHandler.java 中的全部实现代码 - 移除了 Bootstrap.java 中的全部实现代码 - 移除了 HelloWorldServlet.java 中的全部实现代码 - 移除了 JsonServlet.java 中的全部实现代码 - 从 benchmark_config.json 中移除了 smart-servlet 配置 - 从 config.toml 中注释掉 smart-servlet 配置 - 将 feat-cloud-starter 依赖版本从 1.4.0 升级到 1.5.2 - 注释掉 servlet-core 依赖配置 - 修改 shade 插件中的服务文件路径配置
1 parent 9722c54 commit 47e4d98

10 files changed

Lines changed: 379 additions & 398 deletions

File tree

frameworks/Java/smart-socket/benchmark_config.json

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,6 @@
2020
"display_name": "feat",
2121
"notes": "",
2222
"versus": "feat"
23-
},
24-
"smart-servlet": {
25-
"json_url": "/json",
26-
"plaintext_url": "/plaintext",
27-
"port": 8080,
28-
"approach": "Realistic",
29-
"classification": "Platform",
30-
"database": "Postgres",
31-
"framework": "None",
32-
"language": "Java",
33-
"flavor": "None",
34-
"orm": "Raw",
35-
"platform": "smartboot",
36-
"webserver": "None",
37-
"os": "Linux",
38-
"database_os": "Linux",
39-
"display_name": "smart-servlet",
40-
"notes": "",
41-
"versus": "smart-servlet"
4223
}
4324
}
4425
]

frameworks/Java/smart-socket/config.toml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ platform = "smartboot"
1717
webserver = "None"
1818
versus = "feat"
1919

20-
[smart-servlet]
21-
urls.plaintext = "/plaintext"
22-
urls.json = "/json"
23-
approach = "Realistic"
24-
classification = "Platform"
25-
database = "Postgres"
26-
database_os = "Linux"
27-
os = "Linux"
28-
orm = "Raw"
29-
platform = "smartboot"
30-
webserver = "None"
31-
versus = "smart-servlet"
20+
#[smart-servlet]
21+
#urls.plaintext = "/plaintext"
22+
#urls.json = "/json"
23+
#approach = "Realistic"
24+
#classification = "Platform"
25+
#database = "Postgres"
26+
#database_os = "Linux"
27+
#os = "Linux"
28+
#orm = "Raw"
29+
#platform = "smartboot"
30+
#webserver = "None"
31+
#versus = "smart-servlet"

frameworks/Java/smart-socket/pom.xml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,24 @@
2020
<dependency>
2121
<groupId>tech.smartboot.feat</groupId>
2222
<artifactId>feat-cloud-starter</artifactId>
23-
<version>1.4.0</version>
23+
<version>1.5.2</version>
2424
</dependency>
2525
<!-- <dependency>-->
2626
<!-- <groupId>io.github.smartboot.socket</groupId>-->
2727
<!-- <artifactId>aio-pro</artifactId>-->
2828
<!-- <version>1.5.62-SNAPSHOT</version>-->
2929
<!-- </dependency>-->
30-
<dependency>
31-
<groupId>tech.smartboot.servlet</groupId>
32-
<artifactId>servlet-core</artifactId>
33-
<version>${smartservlet.version}</version>
34-
<exclusions>
35-
<exclusion>
36-
<groupId>tech.smartboot.feat</groupId>
37-
<artifactId>feat-core</artifactId>
38-
</exclusion>
39-
</exclusions>
40-
</dependency>
30+
<!-- <dependency>-->
31+
<!-- <groupId>tech.smartboot.servlet</groupId>-->
32+
<!-- <artifactId>servlet-core</artifactId>-->
33+
<!-- <version>${smartservlet.version}</version>-->
34+
<!-- <exclusions>-->
35+
<!-- <exclusion>-->
36+
<!-- <groupId>tech.smartboot.feat</groupId>-->
37+
<!-- <artifactId>feat-core</artifactId>-->
38+
<!-- </exclusion>-->
39+
<!-- </exclusions>-->
40+
<!-- </dependency>-->
4141
<dependency>
4242
<groupId>com.zaxxer</groupId>
4343
<artifactId>HikariCP</artifactId>
@@ -145,7 +145,7 @@
145145
<!-- 采用追加的方式 -->
146146
<transformer
147147
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
148-
<resource>META-INF/services/tech.smartboot.feat.core.apt.AptLoader</resource>
148+
<resource>META-INF/services/tech.smartboot.feat.cloud.CloudService</resource>
149149
</transformer>
150150
</transformers>
151151
</configuration>
Lines changed: 58 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,69 @@
1-
package org.smartboot.http;
2-
3-
import com.jsoniter.output.JsonStream;
4-
import com.jsoniter.output.JsonStreamPool;
5-
import com.jsoniter.spi.JsonException;
6-
import com.jsoniter.spi.Slice;
7-
import jakarta.servlet.http.HttpServletResponse;
8-
import tech.smartboot.feat.core.server.HttpResponse;
9-
10-
import java.io.IOException;
11-
12-
/**
13-
* @author 三刀
14-
* @version V1.0 , 2020/6/16
15-
*/
16-
public class JsonUtil {
17-
// public static void writeJsonBytes(HttpResponse httpResponse, Object obj) {
18-
// JsonWriter writer = Eson.THREAD_WRITER.get();
1+
//package org.smartboot.http;
2+
//
3+
//import com.jsoniter.output.JsonStream;
4+
//import com.jsoniter.output.JsonStreamPool;
5+
//import com.jsoniter.spi.JsonException;
6+
//import com.jsoniter.spi.Slice;
7+
//import jakarta.servlet.http.HttpServletResponse;
8+
//import tech.smartboot.feat.core.server.HttpResponse;
9+
//
10+
//import java.io.IOException;
11+
//
12+
///**
13+
// * @author 三刀
14+
// * @version V1.0 , 2020/6/16
15+
// */
16+
//public class JsonUtil {
17+
// // public static void writeJsonBytes(HttpResponse httpResponse, Object obj) {
18+
//// JsonWriter writer = Eson.THREAD_WRITER.get();
19+
//// try {
20+
//// writer.reset();
21+
//// Eson.serialize(obj, writer);
22+
//// httpResponse.setContentLength(writer.size());
23+
//// writer.toStream(httpResponse.getOutputStream());
24+
//// } catch (IOException e) {
25+
//// throw new JsonException(e);
26+
//// }
27+
//// }
28+
// public static void writeJsonBytes(HttpResponse httpResponse, Object obj) {
29+
// JsonStream stream = JsonStreamPool.borrowJsonStream();
1930
// try {
20-
// writer.reset();
21-
// Eson.serialize(obj, writer);
22-
// httpResponse.setContentLength(writer.size());
23-
// writer.toStream(httpResponse.getOutputStream());
31+
// stream.reset(null);
32+
// stream.writeVal(obj.getClass(), obj);
33+
// Slice slice = stream.buffer();
34+
// httpResponse.setContentLength(slice.tail());
35+
// httpResponse.getOutputStream().write(slice.data(), 0, slice.tail());
2436
// } catch (IOException e) {
2537
// throw new JsonException(e);
38+
// } finally {
39+
// JsonStreamPool.returnJsonStream(stream);
2640
// }
2741
// }
28-
public static void writeJsonBytes(HttpResponse httpResponse, Object obj) {
29-
JsonStream stream = JsonStreamPool.borrowJsonStream();
30-
try {
31-
stream.reset(null);
32-
stream.writeVal(obj.getClass(), obj);
33-
Slice slice = stream.buffer();
34-
httpResponse.setContentLength(slice.tail());
35-
httpResponse.getOutputStream().write(slice.data(), 0, slice.tail());
36-
} catch (IOException e) {
37-
throw new JsonException(e);
38-
} finally {
39-
JsonStreamPool.returnJsonStream(stream);
40-
}
41-
}
42-
43-
public static void writeJsonBytes(HttpServletResponse httpResponse, Object obj) {
44-
JsonStream stream = JsonStreamPool.borrowJsonStream();
45-
try {
46-
stream.reset(null);
47-
stream.writeVal(obj.getClass(), obj);
48-
Slice slice = stream.buffer();
49-
httpResponse.setContentLength(slice.tail());
50-
httpResponse.getOutputStream().write(slice.data(), 0, slice.tail());
51-
} catch (IOException e) {
52-
throw new JsonException(e);
53-
} finally {
54-
JsonStreamPool.returnJsonStream(stream);
55-
}
56-
}
57-
42+
//
5843
// public static void writeJsonBytes(HttpServletResponse httpResponse, Object obj) {
59-
// JsonWriter writer = Eson.THREAD_WRITER.get();
44+
// JsonStream stream = JsonStreamPool.borrowJsonStream();
6045
// try {
61-
// writer.reset();
62-
// Eson.serialize(obj, writer);
63-
// httpResponse.setContentLength(writer.size());
64-
// writer.toStream(httpResponse.getOutputStream());
46+
// stream.reset(null);
47+
// stream.writeVal(obj.getClass(), obj);
48+
// Slice slice = stream.buffer();
49+
// httpResponse.setContentLength(slice.tail());
50+
// httpResponse.getOutputStream().write(slice.data(), 0, slice.tail());
6551
// } catch (IOException e) {
6652
// throw new JsonException(e);
53+
// } finally {
54+
// JsonStreamPool.returnJsonStream(stream);
6755
// }
6856
// }
69-
}
57+
//
58+
//// public static void writeJsonBytes(HttpServletResponse httpResponse, Object obj) {
59+
//// JsonWriter writer = Eson.THREAD_WRITER.get();
60+
//// try {
61+
//// writer.reset();
62+
//// Eson.serialize(obj, writer);
63+
//// httpResponse.setContentLength(writer.size());
64+
//// writer.toStream(httpResponse.getOutputStream());
65+
//// } catch (IOException e) {
66+
//// throw new JsonException(e);
67+
//// }
68+
//// }
69+
//}
Lines changed: 70 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,70 @@
1-
package org.smartboot.http;
2-
3-
4-
import tech.smartboot.feat.core.common.FeatUtils;
5-
import tech.smartboot.feat.core.server.HttpHandler;
6-
import tech.smartboot.feat.core.server.HttpRequest;
7-
import tech.smartboot.feat.core.server.HttpResponse;
8-
9-
import javax.sql.DataSource;
10-
import java.io.IOException;
11-
import java.sql.Connection;
12-
import java.sql.PreparedStatement;
13-
import java.sql.ResultSet;
14-
import java.sql.SQLException;
15-
import java.util.concurrent.CompletableFuture;
16-
import java.util.concurrent.ThreadLocalRandom;
17-
18-
/**
19-
* @author 三刀
20-
* @version V1.0 , 2020/6/16
21-
*/
22-
public class MultipleQueriesHandler implements HttpHandler {
23-
private DataSource dataSource;
24-
25-
public MultipleQueriesHandler(DataSource dataSource) {
26-
this.dataSource = dataSource;
27-
}
28-
29-
@Override
30-
public void handle(HttpRequest httpRequest, CompletableFuture<Void> completableFuture) throws IOException {
31-
HttpResponse response = httpRequest.getResponse();
32-
Thread.startVirtualThread(() -> {
33-
try {
34-
int queries = Math.min(Math.max(FeatUtils.toInt(httpRequest.getParameter("queries"), 1), 1), 500);
35-
World[] worlds = new World[queries];
36-
try (Connection connection = dataSource.getConnection();
37-
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM World WHERE id=?");) {
38-
39-
for (int i = 0; i < queries; i++) {
40-
preparedStatement.setInt(1, getRandomNumber());
41-
ResultSet resultSet = preparedStatement.executeQuery();
42-
resultSet.next();
43-
World world = new World();
44-
world.setId(resultSet.getInt(1));
45-
world.setRandomNumber(resultSet.getInt(2));
46-
worlds[i] = world;
47-
preparedStatement.clearParameters();
48-
}
49-
50-
} catch (SQLException throwables) {
51-
throwables.printStackTrace();
52-
}
53-
response.setContentType("application/json");
54-
JsonUtil.writeJsonBytes(response, worlds);
55-
} finally {
56-
completableFuture.complete(null);
57-
}
58-
});
59-
60-
}
61-
62-
@Override
63-
public void handle(HttpRequest request) throws Throwable {
64-
65-
}
66-
67-
protected int getRandomNumber() {
68-
return 1 + ThreadLocalRandom.current().nextInt(10000);
69-
}
70-
}
1+
//package org.smartboot.http;
2+
//
3+
//
4+
//import tech.smartboot.feat.core.common.FeatUtils;
5+
//import tech.smartboot.feat.core.server.HttpHandler;
6+
//import tech.smartboot.feat.core.server.HttpRequest;
7+
//import tech.smartboot.feat.core.server.HttpResponse;
8+
//
9+
//import javax.sql.DataSource;
10+
//import java.io.IOException;
11+
//import java.sql.Connection;
12+
//import java.sql.PreparedStatement;
13+
//import java.sql.ResultSet;
14+
//import java.sql.SQLException;
15+
//import java.util.concurrent.CompletableFuture;
16+
//import java.util.concurrent.ThreadLocalRandom;
17+
//
18+
///**
19+
// * @author 三刀
20+
// * @version V1.0 , 2020/6/16
21+
// */
22+
//public class MultipleQueriesHandler implements HttpHandler {
23+
// private DataSource dataSource;
24+
//
25+
// public MultipleQueriesHandler(DataSource dataSource) {
26+
// this.dataSource = dataSource;
27+
// }
28+
//
29+
// @Override
30+
// public void handle(HttpRequest httpRequest, CompletableFuture<Void> completableFuture) throws IOException {
31+
// HttpResponse response = httpRequest.getResponse();
32+
// Thread.startVirtualThread(() -> {
33+
// try {
34+
// int queries = Math.min(Math.max(FeatUtils.toInt(httpRequest.getParameter("queries"), 1), 1), 500);
35+
// World[] worlds = new World[queries];
36+
// try (Connection connection = dataSource.getConnection();
37+
// PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM World WHERE id=?");) {
38+
//
39+
// for (int i = 0; i < queries; i++) {
40+
// preparedStatement.setInt(1, getRandomNumber());
41+
// ResultSet resultSet = preparedStatement.executeQuery();
42+
// resultSet.next();
43+
// World world = new World();
44+
// world.setId(resultSet.getInt(1));
45+
// world.setRandomNumber(resultSet.getInt(2));
46+
// worlds[i] = world;
47+
// preparedStatement.clearParameters();
48+
// }
49+
//
50+
// } catch (SQLException throwables) {
51+
// throwables.printStackTrace();
52+
// }
53+
// response.setContentType("application/json");
54+
// JsonUtil.writeJsonBytes(response, worlds);
55+
// } finally {
56+
// completableFuture.complete(null);
57+
// }
58+
// });
59+
//
60+
// }
61+
//
62+
// @Override
63+
// public void handle(HttpRequest request) throws Throwable {
64+
//
65+
// }
66+
//
67+
// protected int getRandomNumber() {
68+
// return 1 + ThreadLocalRandom.current().nextInt(10000);
69+
// }
70+
//}

0 commit comments

Comments
 (0)