123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 |
- package com.evp.comm.server;
- import com.evp.app.common.utils.ByteUtils;
- import com.evp.app.common.utils.SysUtils;
- import com.evp.app.common.utils.TimeUtils;
- import com.evp.comm.server.dto.EvpsCenter;
- import com.evp.comm.server.dto.NetState;
- import com.evp.comm.server.kafka.KafkaProducerService;
- import com.evp.comm.server.kafka.dto.KafkaEvpsServiceDto;
- import com.evp.comm.server.xnet.server.process.protocol.EvpsProtocolConst;
- import io.netty.buffer.ByteBuf;
- import io.netty.buffer.Unpooled;
- import lombok.extern.slf4j.Slf4j;
- import org.junit.jupiter.api.Test;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.context.SpringBootTest;
- import java.net.InetAddress;
- import java.net.UnknownHostException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.TimeZone;
- import java.util.concurrent.Executors;
- import java.util.concurrent.ThreadFactory;
- import java.util.concurrent.ThreadPoolExecutor;
- import java.util.concurrent.TimeUnit;
- @Slf4j
- @SpringBootTest
- public class EvpCommServerApplicationTests {
- public static final EvpsCenter rCenter = EvpsCenter.builder()
- .idx(0)
- .centerId("L01")
- .centerNm("UTIC SIGNAL 센터")
- .ipAddress("127.0.0.1")
- .netState(new NetState())
- .useYn(true)
- .dump(false)
- .build();
- @Autowired
- private KafkaProducerService kafkaService;
- public static String toString( Date date ) {
- SimpleDateFormat df = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
- TimeZone tz = TimeZone.getTimeZone( "UTC" );
- df.setTimeZone( tz );
- String output = df.format( date );
- int inset0 = 9;
- int inset1 = 6;
- String s0 = output.substring( 0, output.length() - inset0 );
- String s1 = output.substring( output.length() - inset1, output.length() );
- String result = s0 + s1;
- result = result.replaceAll( "UTC", "+00:00" );
- return result;
- }
- @Test
- void testDate() {
- log.info("{}", toString(new Date()));
- log.info("{}", TimeUtils.now());
- }
- @Test
- void sendTopicService() {
- KafkaEvpsServiceDto data = KafkaEvpsServiceDto.builder()
- .serviceId("99920240906124848")
- //.clctDt(TimeUtils.getCurrentDate())
- .evNo("373구2164")
- .curLat(1.)
- .curLng(2.)
- .serviceNm("도로교통공단")
- .arrLat(3.)
- .arrLng(4.)
- .arrTm(10)
- .vehLen(20)
- .ocrNo("")
- .ocrType("")
- .serviceDist(4300)
- .statusCd(1)
- .routeList(new ArrayList<>())
- .build();
- kafkaService.sendEvpsServiceTopic(data);
- }
- @Test
- void test3() {
- String data = "000102030405060708090A000102030405060708090A000102030405060708090A";
- byte[] inBytes = ByteUtils.hexToByteArray(data);
- ByteBuf byteBuf = Unpooled.copiedBuffer(inBytes);
- log.info("readableBytes: {}", byteBuf.readableBytes());
- log.info("readerIndex: {}", byteBuf.readerIndex());
- byte[] buffer = new byte[EvpsProtocolConst.EVPS_HEAD_SIZE];
- byteBuf.getBytes(0, buffer);
- log.info("buffer: {}", SysUtils.byteArrayToHex(buffer));
- byte[] buffer2 = new byte[inBytes.length - EvpsProtocolConst.EVPS_HEAD_SIZE];
- byteBuf.getBytes(EvpsProtocolConst.EVPS_HEAD_SIZE, buffer2);
- log.info("buffer: {}", SysUtils.byteArrayToHex(buffer2));
- log.info("readableBytes: {}", byteBuf.readableBytes());
- log.info("readerIndex: {}", byteBuf.readerIndex());
- }
- @Test
- void testDecompress() {
- //ReadableBytes: 113 Bytes
- String data = "02C518081A01061A11571DB1020C00020003010004006C00001900C800400200140050088040000802A0040021001001408100020C10608000010808A0000000000000000000000000000000000000000000000000000000000000000000000000000001FFC234B7EEAFFBEBB2EDEFFF0C123C030A1E020307140203020C1B320203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003010104006C00008128084441200A0451508882401408A2A0000001001000400102021010808000040820A0000000000000000000000000000000000000000000000000000000000000000000000000000001FF020303030B0C5CEDAFBBFB3BFF0C123C030A1E03071403020C1B32020300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E803";
- byte[] inBytes = ByteUtils.hexToByteArray(data);
- log.error("Packet Length: {}", inBytes.length);
- // EvpsCommPacket evpsCommPacket = new EvpsCommPacket(rCenter, inBytes);
- // RecvPacketDto packet = RecvPacketDto.builder()
- // .recvTime(0)
- // .center(rCenter)
- // .packet(evpsCommPacket)
- // .build();
- //EvpsSignalMap response = new EvpsSignalMap(null);
- // response.responseTEST(packet);
- }
- @Test
- void tt() {
- for (int ii = 0; ii < 608; ii++) {
- log.info("{}, {}, {}", ii, ii/19, ii%19);
- }
- }
- @Test
- void testDecompress2010() {
- //ReadableBytes: 113 Bytes
- String data = "02C518081901061911551DB1020C000200010200030036E04BC31020DDC10105E021C11020E030C80102D8C10105C2C10105E039C8010200555C9C2503000102090F3C090F3C010C1246006C2400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010201030025E041C80102E0B7C80102E021C5102000555C9C2503000102090F3C090F3C01040546003E450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AB03";
- byte[] inBytes = ByteUtils.hexToByteArray(data);
- log.error("Packet Length: {}", inBytes.length);
- // EvpsCommPacket evpsCommPacket = new EvpsCommPacket(rCenter, inBytes);
- // RecvPacketDto packet = RecvPacketDto.builder()
- // .recvTime(0)
- // .center(rCenter)
- // .packet(evpsCommPacket)
- // .build();
- // EvpsSignalMap response = new EvpsSignalMap(null);
- // response.responseTEST(packet);
- }
- @Test
- public void test() {
- //1720599437901
- //1720599437
- //106844625303900
- long start = System.currentTimeMillis();
- log.error("[{}, {}, {}]", start, TimeUnit.SECONDS.convert(start, TimeUnit.MILLISECONDS), System.nanoTime());
- }
- @Test
- public void test1() {
- String hostName;
- String hostAddress;
- try {
- InetAddress localhost = InetAddress.getLocalHost();
- hostName = localhost.getHostName();
- hostAddress = localhost.getHostAddress();
- } catch (UnknownHostException e) {
- hostName = "localhost";
- hostAddress = "127.0.0.1";
- }
- System.out.println("Your current IP address : " + hostAddress);
- System.out.println("Your current Hostname : " + hostName);
- InetAddress ip;
- String hostname;
- try {
- ip = InetAddress.getLocalHost();
- hostname = ip.getHostName();
- System.out.println("Your current IP address : " + ip);
- System.out.println("Your current Hostname : " + hostname);
- } catch (UnknownHostException e) {
- e.printStackTrace();
- }
- }
- class WorkerThreadTask implements Runnable {
- private ThreadPoolExecutor processExecutor;
- public WorkerThreadTask(ThreadPoolExecutor processExecutor, int idx) {
- Thread.currentThread().setName(String.format("worker-pool-%02d", idx));
- this.processExecutor = processExecutor;
- }
- @Override
- public void run() {
- while (true) {
- log.error("{}, corePoolSize: {}, activeCount: {}, maximumPoolSize: {}, poolSize: {}, taskCount: {}",
- Thread.currentThread().getName(),
- processExecutor.getCorePoolSize(),
- processExecutor.getActiveCount(),
- processExecutor.getMaximumPoolSize(),
- processExecutor.getPoolSize(),
- processExecutor.getTaskCount());
- try {
- Thread.sleep(1000);
- if (processExecutor.awaitTermination(1L, TimeUnit.MILLISECONDS))
- log.info("Terminated");
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- }
- class NamedThreadsFactory implements ThreadFactory {
- private int count = 0;
- private String Name = "MyThread-";
- @Override
- public Thread newThread(Runnable r) {
- return new Thread(r, Name + ++count); // Mythread-x 형태로 쓰레드 이름 설정
- }
- }
- @Test
- public void testThread() throws InterruptedException {
- int threadPoolSize = Runtime.getRuntime().availableProcessors() * 10;
- ThreadPoolExecutor processExecutor = (ThreadPoolExecutor) Executors.newFixedThreadPool(1);
- log.info("corePoolSize: {}, activeCount: {}, maximumPoolSize: {}, poolSize: {}, taskCount: {}",
- processExecutor.getCorePoolSize(),
- processExecutor.getActiveCount(),
- processExecutor.getMaximumPoolSize(),
- processExecutor.getPoolSize(),
- processExecutor.getTaskCount());
- for (int ii = 0; ii < threadPoolSize; ii++) {
- log.info("Thread Start: {}", ii);
- processExecutor.execute(new WorkerThreadTask(processExecutor, ii));
- /*processExecutor.execute(() -> {
- while (true) {
- try {
- log.error("{}, corePoolSize: {}, activeCount: {}, maximumPoolSize: {}, poolSize: {}, taskCount: {}",
- Thread.currentThread().getName(),
- processExecutor.getCorePoolSize(),
- processExecutor.getActiveCount(),
- processExecutor.getMaximumPoolSize(),
- processExecutor.getPoolSize(),
- processExecutor.getTaskCount());
- Thread.sleep(1000);
- }
- catch (Exception e) {
- log.error("{}", e.getMessage(), e);
- }
- }
- });*/
- }
- Thread.sleep(20000);
- }
- @Test
- public void checkSumTest() {
- }
- }
|