Browse Source

🎨 优化部分代码

dev1
Binary Wang 5 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; package cn.binarywang.wx.graal;


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


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

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

registerClass(annotatedClass.getQualifiedName().toString()); registerClass(annotatedClass.getQualifiedName().toString());
handleSuperClass(annotatedClass); handleSuperClass(annotatedClass);
} }
@@ -108,29 +107,29 @@ public class GraalProcessor extends AbstractProcessor {
String propsFile = path + NATIVE_IMAGE_PROPERTIES; String propsFile = path + NATIVE_IMAGE_PROPERTIES;
try { try {
FileObject fileObject = processingEnv.getFiler().createResource(StandardLocation.CLASS_OUTPUT, "", propsFile); 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) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }


try { try {
FileObject fileObject = processingEnv.getFiler().createResource(StandardLocation.CLASS_OUTPUT, "", reflectFile); 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) { } catch (IOException e) {
e.printStackTrace(); 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; 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.Logger;
import org.slf4j.LoggerFactory; 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. * 基于内存的session manager.
@@ -15,7 +14,6 @@ import me.chanjar.weixin.common.util.res.StringManager;
* @author Daniel Qian * @author Daniel Qian
*/ */
public class StandardSessionManager implements WxSessionManager, InternalSessionManager { public class StandardSessionManager implements WxSessionManager, InternalSessionManager {

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


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


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


return (session);

return session;
} }




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



@Override @Override
public void add(InternalSession session) { public void add(InternalSession session) {

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


Loading…
Cancel
Save