Browse Source

🎨 优化部分代码

dev1
Binary Wang 4 years ago
parent
commit
5c7b6d2af4
2 changed files with 25 additions and 30 deletions
  1. +16
    -17
      weixin-graal/src/main/java/cn/binarywang/wx/graal/GraalProcessor.java
  2. +9
    -13
      weixin-java-common/src/main/java/me/chanjar/weixin/common/session/StandardSessionManager.java

+ 16
- 17
weixin-graal/src/main/java/cn/binarywang/wx/graal/GraalProcessor.java View File

@@ -1,6 +1,7 @@
package cn.binarywang.wx.graal;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;

import javax.annotation.processing.AbstractProcessor;
import javax.annotation.processing.RoundEnvironment;
@@ -25,7 +26,6 @@ import java.util.TreeSet;
*
* @author outersky
*/

@SupportedAnnotationTypes("lombok.Data")
@SupportedSourceVersion(SourceVersion.RELEASE_7)
public class GraalProcessor extends AbstractProcessor {
@@ -38,7 +38,6 @@ public class GraalProcessor extends AbstractProcessor {
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
for (TypeElement annotatedClass : ElementFilter.typesIn(roundEnv.getElementsAnnotatedWith(Data.class))) {

registerClass(annotatedClass.getQualifiedName().toString());
handleSuperClass(annotatedClass);
}
@@ -108,29 +107,29 @@ public class GraalProcessor extends AbstractProcessor {
String propsFile = path + NATIVE_IMAGE_PROPERTIES;
try {
FileObject fileObject = processingEnv.getFiler().createResource(StandardLocation.CLASS_OUTPUT, "", propsFile);
Writer writer = fileObject.openWriter();
writer.append("Args = -H:ReflectionConfigurationResources=${.}/" + REFLECTION_CONFIG_JSON);
writer.close();
try (Writer writer = fileObject.openWriter();) {
writer.append("Args = -H:ReflectionConfigurationResources=${.}/" + REFLECTION_CONFIG_JSON);
}
} catch (IOException e) {
e.printStackTrace();
}

try {
FileObject fileObject = processingEnv.getFiler().createResource(StandardLocation.CLASS_OUTPUT, "", reflectFile);
Writer writer = fileObject.openWriter();
writer.write("[\n");
boolean first = true;
for (String name : classSet) {
if (first) {
first = false;
} else {
writer.write(",");
try (Writer writer = fileObject.openWriter();) {
writer.write("[\n");
boolean first = true;
for (String name : classSet) {
if (first) {
first = false;
} else {
writer.write(",");
}
writer.write(assetGraalJsonElement(name));
writer.append('\n');
}
writer.write(assetGraalJsonElement(name));
writer.append('\n');
writer.write("]");
}
writer.write("]");
writer.close();
} catch (IOException e) {
e.printStackTrace();
}


+ 9
- 13
weixin-java-common/src/main/java/me/chanjar/weixin/common/session/StandardSessionManager.java View File

@@ -1,13 +1,12 @@
package me.chanjar.weixin.common.session;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;

import me.chanjar.weixin.common.util.res.StringManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import me.chanjar.weixin.common.util.res.StringManager;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;

/**
* 基于内存的session manager.
@@ -15,7 +14,6 @@ import me.chanjar.weixin.common.util.res.StringManager;
* @author Daniel Qian
*/
public class StandardSessionManager implements WxSessionManager, InternalSessionManager {

protected static final StringManager SM = StringManager.getManager(Constants.PACKAGE);
/**
* The descriptive name of this Manager implementation (for logging).
@@ -51,7 +49,9 @@ public class StandardSessionManager implements WxSessionManager, InternalSession
*/
protected int maxInactiveInterval = 30 * 60;

// Number of sessions created by this manager
/**
* Number of sessions created by this manager
*/
protected long sessionCounter = 0;

protected volatile int maxActive = 0;
@@ -154,12 +154,10 @@ public class StandardSessionManager implements WxSessionManager, InternalSession
session.setValid(true);
session.setCreationTime(System.currentTimeMillis());
session.setMaxInactiveInterval(this.maxInactiveInterval);
String id = sessionId;
session.setId(id);
session.setId(sessionId);
this.sessionCounter++;

return (session);

return session;
}


@@ -181,10 +179,8 @@ public class StandardSessionManager implements WxSessionManager, InternalSession
return new StandardSession(this);
}


@Override
public void add(InternalSession session) {

// 当第一次有session创建的时候,开启session清理线程
if (!this.backgroundProcessStarted.getAndSet(true)) {
Thread t = new Thread(new Runnable() {


Loading…
Cancel
Save