提交 f5f6b20a authored 作者: zhoushaopan's avatar zhoushaopan

feat(盘存模块): 释放读写机资源

释放读写机资源
上级 01d01477
package com.tykj.dev.config; //package com.tykj.dev.config;
//
import org.springframework.context.annotation.Configuration; //import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component; //import org.springframework.stereotype.Component;
//
import javax.annotation.PostConstruct; //import javax.annotation.PostConstruct;
//
/** ///**
* @author zsp // * @author zsp
* @create 2021/12/13 14:20 // * @create 2021/12/13 14:20
*/ // */
@Configuration //@Configuration
public class ReadMachineLoader { //public class ReadMachineLoader {
//
@PostConstruct // @PostConstruct
private void getLoader(){ // private void getLoader(){
if (System.getProperty("myapplibrary") == null){ // if (System.getProperty("myapplibrary") == null){
System.setProperty("myapplibrary","libModuleAPIJni.so"); // System.setProperty("myapplibrary","libModuleAPIJni.so");
System.loadLibrary("libModuleAPIJni"); // System.loadLibrary("libModuleAPIJni");
} // }
} // }
} //}
...@@ -70,6 +70,17 @@ public class ReadMachineBillController { ...@@ -70,6 +70,17 @@ public class ReadMachineBillController {
@Autowired @Autowired
private TaskService taskService; private TaskService taskService;
@Autowired
private ReadUtils readUtils;
static{
//增加一个全局变量,只要加载过这个so就不再执行,除非进程重启才会清掉该变量。
if(System.getProperty("myapplibrary")==null){
System.setProperty("myapplibrary", "libModuleAPIJni.so");
System.loadLibrary("libModuleAPIJni");
}
}
@ApiOperation(value = "保存盘存接口", notes = "保存盘存接口") @ApiOperation(value = "保存盘存接口", notes = "保存盘存接口")
@PostMapping(value = "/addReadMachineBill") @PostMapping(value = "/addReadMachineBill")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -147,7 +158,7 @@ public class ReadMachineBillController { ...@@ -147,7 +158,7 @@ public class ReadMachineBillController {
* 读取装备信息 * 读取装备信息
*/ */
public List<DeviceLibrary> startDeviceDetail(){ public List<DeviceLibrary> startDeviceDetail(){
ReadUtils readUtils = new ReadUtils(); // ReadUtils readUtils = new ReadUtils();
//先开启 //先开启
readUtils.testinitreader(); readUtils.testinitreader();
while (localFlag){ while (localFlag){
......
package com.tykj.dev.rfid.controller;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.rfid.timeTask.ReadUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author zsp
* @create 2021/12/2 10:39
*/
@RestController
@Api(tags = "读写机模块", description = "读写机模块")
@AutoDocument
@RequestMapping("/readMachine")
@Slf4j
public class ReadController {
@PostMapping("/startReadMachine")
@ApiOperation(value = "开始扫描读写机")
public ResponseEntity startReadMachine(){
ReadUtils readUtils = new ReadUtils();
//先开启
readUtils.testinitreader();
//开始盘存
readUtils.testinventory1();
//关闭
readUtils.getJreader().CloseReader();
return ResponseEntity.ok("读写成功");
}
}
...@@ -3,11 +3,16 @@ package com.tykj.dev.rfid.timeTask; ...@@ -3,11 +3,16 @@ package com.tykj.dev.rfid.timeTask;
import com.uhf.api.cls.Reader; import com.uhf.api.cls.Reader;
import com.uhf.api.cls.Reader.*; import com.uhf.api.cls.Reader.*;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@Data @Data
@Slf4j
@Component
public class ReadUtils { public class ReadUtils {
/** /**
...@@ -20,7 +25,10 @@ public class ReadUtils { ...@@ -20,7 +25,10 @@ public class ReadUtils {
//公司测试读写机实验室ip //公司测试读写机实验室ip
// String ReaderAddr="192.168.0.201"; // String ReaderAddr="192.168.0.201";
//公司正式读写机实验室ip //公司正式读写机实验室ip
String ReaderAddr="192.168.0.100"; // String ReaderAddr="192.168.0.100";
@Value("${readMachine.ip}")
public String ReaderAddr;
Reader Jreader; Reader Jreader;
public ReadUtils() public ReadUtils()
{ {
...@@ -183,6 +191,7 @@ public class ReadUtils { ...@@ -183,6 +191,7 @@ public class ReadUtils {
* 返回类型:READER_ERR ,MT_OK_ERR表示正常,其他表示错误 * 返回类型:READER_ERR ,MT_OK_ERR表示正常,其他表示错误
*/ */
// READER_ERR er=Jreader.InitReader(ReaderAddr,Reader_Type.MODULE_ONE_ANT); // READER_ERR er=Jreader.InitReader(ReaderAddr,Reader_Type.MODULE_ONE_ANT);
log.info("ReaderAddr:{}",ReaderAddr);
READER_ERR er=Jreader.InitReader_Notype(ReaderAddr,AntCount); READER_ERR er=Jreader.InitReader_Notype(ReaderAddr,AntCount);
System.out.println(er.toString()); System.out.println(er.toString());
/* /*
......
...@@ -11,3 +11,4 @@ preview.path=http://192.168.102.169:8087/file/ ...@@ -11,3 +11,4 @@ preview.path=http://192.168.102.169:8087/file/
spring.boot.admin.client.url=http://localhost:8769 spring.boot.admin.client.url=http://localhost:8769
spring.boot.admin.client.instance.serviceBaseUrl=http://localhost:8087w spring.boot.admin.client.instance.serviceBaseUrl=http://localhost:8087w
block.flag=true block.flag=true
readMachine.ip=192.168.101.201
...@@ -9,4 +9,5 @@ file.path=/opt/zb/ ...@@ -9,4 +9,5 @@ file.path=/opt/zb/
preview.path=http://192.168.0.80:8088/equip/file/ preview.path=http://192.168.0.80:8088/equip/file/
spring.boot.admin.client.url=http://localhost:8769 spring.boot.admin.client.url=http://localhost:8769
spring.boot.admin.client.instance.serviceBaseUrl=http://localhost:8087 spring.boot.admin.client.instance.serviceBaseUrl=http://localhost:8087
block.flag=true block.flag=true
\ No newline at end of file readMachine.ip=192.168.101.202
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论