Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions core/src/main/java/ru/finex/core/cluster/ClusterService.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public interface ClusterService {
* @param name name of object
* @return name of distributed object with role
*/
String getName(String name);
String getAddress(String name);

/**
* Return name of object with role generated by the caller canonical name.
Expand All @@ -55,7 +55,7 @@ public interface ClusterService {
* @param caller the caller
* @return name of distributed object
*/
String getName(Class<?> caller);
String getAddress(Class<?> caller);

/**
* Return name of object with role and the field, generated by the caller canonical name.
Expand All @@ -77,7 +77,7 @@ public interface ClusterService {
* @param field the field
* @return name of distributed object
*/
String getName(Class<?> caller, String field);
String getAddress(Class<?> caller, String field);

/**
* Return name of object with role, the method name and the method parameter name.
Expand All @@ -99,7 +99,7 @@ public interface ClusterService {
* @param parameter the method parameter name
* @return name of distributed object
*/
String getName(Class<?> caller, String method, String parameter);
String getAddress(Class<?> caller, String method, String parameter);

/**
* Return count of this server instances (by role) in cluster.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,27 +30,27 @@ public class ClusterServiceImpl implements ClusterService {
@Inject
public ClusterServiceImpl(RedissonClient client, ClusterConfig config) {
this.client = client;
role = config.getRole();
instances = client.getAtomicLong(getName(getClass(), "instances"));
this.role = config.getRole();
this.instances = client.getAtomicLong(getAddress(getClass(), "instances"));
}

@Override
public String getName(String name) {
public String getAddress(String name) {
return role + "@" + name;
}

@Override
public String getName(Class<?> caller) {
public String getAddress(Class<?> caller) {
return role + "@" + caller.getCanonicalName();
}

@Override
public String getName(Class<?> caller, String field) {
return getName(caller) + "#" + field;
public String getAddress(Class<?> caller, String field) {
return getAddress(caller) + "#" + field;
}

@Override
public String getName(Class<?> caller, String method, String parameter) {
public String getAddress(Class<?> caller, String method, String parameter) {
return role + "@" + caller.getCanonicalName() + "::" + method + "#" + parameter;
}

Expand Down
4 changes: 2 additions & 2 deletions core/src/main/java/ru/finex/core/cluster/impl/Clustered.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
* <p>
* Supports expressions.
* @return name of object
* @see ru.finex.core.cluster.ClusterService#getName(Class, String)
* @see ru.finex.core.cluster.ClusterService#getName(Class, String, String)
* @see ru.finex.core.cluster.ClusterService#getAddress(Class, String)
* @see ru.finex.core.cluster.ClusterService#getAddress(Class, String, String)
* @see ru.finex.core.placeholder.PlaceholderService
*/
String value() default "";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ private void injectMethod(Provider<RedissonClient> clientProvider, TypeEncounter
} else {
String methodName = method.getName();
String parameterName = parameter.getName();
String name = getName(clazz, methodName, parameterName, clustered);
String name = getAddress(clazz, methodName, parameterName, clustered);
value = provideObject(clientProvider, clazz, type, methodName, parameter, name);

if (clustered.autoManagement() && value instanceof RObject resource) {
Expand All @@ -123,19 +123,19 @@ private Pair<String, Boolean> getAnnotationInfo(Class<?> type, Field field) {
Clustered clustered = field.getAnnotation(Clustered.class);
String name = clustered.value();
if (StringUtils.isBlank(name)) {
name = clusterService.getName(type, field.getName());
name = clusterService.getAddress(type, field.getName());
} else {
name = placeholderServiceProvider.get().evaluate(name, String.class);
}

return Pair.of(name, clustered.autoManagement());
}

private String getName(Class<?> type, String methodName, String parameterName, Clustered clustered) {
private String getAddress(Class<?> type, String methodName, String parameterName, Clustered clustered) {
ClusterService clusterService = clusterServiceProvider.get();
String name = clustered.value();
if (StringUtils.isBlank(name)) {
name = clusterService.getName(type, methodName, parameterName);
name = clusterService.getAddress(type, methodName, parameterName);
} else {
name = placeholderServiceProvider.get().evaluate(name, String.class);
}
Expand Down