Skip to content

Commit 71cf3f9

Browse files
committed
Use ShardingSphereServiceLoader to instead of JDK ServiceLoader
1 parent 0878e78 commit 71cf3f9

File tree

6 files changed

+15
-6
lines changed

6 files changed

+15
-6
lines changed

restful/src/main/java/org/apache/shardingsphere/elasticjob/restful/deserializer/RequestBodyDeserializerFactory.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
import lombok.AccessLevel;
2121
import lombok.NoArgsConstructor;
2222
import org.apache.shardingsphere.elasticjob.restful.deserializer.factory.DeserializerFactory;
23+
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
2324

2425
import java.util.Map;
2526
import java.util.Optional;
26-
import java.util.ServiceLoader;
2727
import java.util.concurrent.ConcurrentHashMap;
2828

2929
/**
@@ -50,10 +50,10 @@ public <T> T deserialize(final Class<T> targetType, final byte[] requestBodyByte
5050
};
5151

5252
static {
53-
for (RequestBodyDeserializer deserializer : ServiceLoader.load(RequestBodyDeserializer.class)) {
53+
for (RequestBodyDeserializer deserializer : ShardingSphereServiceLoader.getServiceInstances(RequestBodyDeserializer.class)) {
5454
REQUEST_BODY_DESERIALIZERS.put(deserializer.mimeType(), deserializer);
5555
}
56-
for (DeserializerFactory factory : ServiceLoader.load(DeserializerFactory.class)) {
56+
for (DeserializerFactory factory : ShardingSphereServiceLoader.getServiceInstances(DeserializerFactory.class)) {
5757
DEFAULT_REQUEST_BODY_DESERIALIZER_FACTORIES.put(factory.mimeType(), factory);
5858
}
5959
}

restful/src/main/java/org/apache/shardingsphere/elasticjob/restful/deserializer/factory/DeserializerFactory.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@
1818
package org.apache.shardingsphere.elasticjob.restful.deserializer.factory;
1919

2020
import org.apache.shardingsphere.elasticjob.restful.deserializer.RequestBodyDeserializer;
21+
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
2122

2223
/**
2324
* Deserializer factory.
2425
*
2526
* @see RequestBodyDeserializer
2627
* @see org.apache.shardingsphere.elasticjob.restful.deserializer.RequestBodyDeserializerFactory
2728
*/
29+
@SingletonSPI
2830
public interface DeserializerFactory {
2931

3032
/**

restful/src/main/java/org/apache/shardingsphere/elasticjob/restful/deserializer/impl/DefaultTextPlainRequestBodyDeserializer.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,15 @@
1919

2020
import io.netty.handler.codec.http.HttpHeaderValues;
2121
import org.apache.shardingsphere.elasticjob.restful.deserializer.RequestBodyDeserializer;
22+
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
2223

2324
import java.nio.charset.StandardCharsets;
2425
import java.text.MessageFormat;
2526

2627
/**
2728
* Default deserializer for <code>text/plain</code>.
2829
*/
30+
@SingletonSPI
2931
public final class DefaultTextPlainRequestBodyDeserializer implements RequestBodyDeserializer {
3032

3133
@Override

restful/src/main/java/org/apache/shardingsphere/elasticjob/restful/serializer/ResponseBodySerializer.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,12 @@
1717

1818
package org.apache.shardingsphere.elasticjob.restful.serializer;
1919

20+
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
21+
2022
/**
2123
* Serializer for serializing response body with specific MIME type.
2224
*/
25+
@SingletonSPI
2326
public interface ResponseBodySerializer {
2427

2528
/**

restful/src/main/java/org/apache/shardingsphere/elasticjob/restful/serializer/ResponseBodySerializerFactory.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
import lombok.AccessLevel;
2121
import lombok.NoArgsConstructor;
2222
import org.apache.shardingsphere.elasticjob.restful.serializer.factory.SerializerFactory;
23+
import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
2324

2425
import java.util.Map;
2526
import java.util.Optional;
26-
import java.util.ServiceLoader;
2727
import java.util.concurrent.ConcurrentHashMap;
2828

2929
/**
@@ -50,10 +50,10 @@ public byte[] serialize(final Object responseBody) {
5050
};
5151

5252
static {
53-
for (ResponseBodySerializer serializer : ServiceLoader.load(ResponseBodySerializer.class)) {
53+
for (ResponseBodySerializer serializer : ShardingSphereServiceLoader.getServiceInstances(ResponseBodySerializer.class)) {
5454
RESPONSE_BODY_SERIALIZERS.put(serializer.mimeType(), serializer);
5555
}
56-
for (SerializerFactory factory : ServiceLoader.load(SerializerFactory.class)) {
56+
for (SerializerFactory factory : ShardingSphereServiceLoader.getServiceInstances(SerializerFactory.class)) {
5757
RESPONSE_BODY_SERIALIZER_FACTORIES.put(factory.mimeType(), factory);
5858
}
5959
}

restful/src/main/java/org/apache/shardingsphere/elasticjob/restful/serializer/factory/SerializerFactory.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@
1818
package org.apache.shardingsphere.elasticjob.restful.serializer.factory;
1919

2020
import org.apache.shardingsphere.elasticjob.restful.serializer.ResponseBodySerializer;
21+
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
2122

2223
/**
2324
* Serializer factory.
2425
*
2526
* @see ResponseBodySerializer
2627
* @see org.apache.shardingsphere.elasticjob.restful.serializer.ResponseBodySerializerFactory
2728
*/
29+
@SingletonSPI
2830
public interface SerializerFactory {
2931

3032
/**

0 commit comments

Comments
 (0)