본문 바로가기

Programming!

Spring EL 의 @Value Annotation 처리 기본 값 app: el: demo: default: default text comma: el1,el2,el3,el4 mapv: "{key1:'1',key2:'2'}" 각 코드 주의사항으로는 모두 *.properties 와 동일하지만 Map 처리의 경우 중괄호 밖을 한번 더 감싸야 한다. properties => app.el.demo.mapv = {key1:'1',key2:'2'} yml => 위 코드 참조. @Slf4j @RunWith(SpringRunner.class) @ActiveProfiles(inheritProfiles = false, resolver = ActiveProfileResolver.class) @SpringBootTest(classes = ApiApplication.class) pub.. 더보기
MQTT를 발행/수신 해보자. 작은 쇼핑몰을 만들어 보려고 하면서 뭔가 시나리오를 크게 잡고 하기보다는( 이렇게 하면 만들다 지쳐버린 경험도 있고 해서..) 작은 단위의 시나리오로 만들려고 한다. 기존 JPA관련 간단팁으로 정리하던 repository를 복사해서 시작하기로 맘을 먹고 준비땅을 외침. 멀티 데이터베이스, 멀티 모듈등 기본 인프라사항을 적용해놓고, 전시카테고리를 구현하려고 하던중 급 MQTT에 대한 처리를 하고 싶어졌다. 기본 단위의 시나리오는 이렇다. '사용자가 주문을 한다 -> 주문 프로세스가 완료된다 -> 완료 정보는 사용자에게 돌아간다. -> ASYNC로 주문완료 토픽을 발행한다. -> 구독 디바이스에서 해당 정보를 확인한다.' 간단하다. 아주~ 대충 토픽을 가져가는 서비스들은 POS라던지 EMAIL 이라던지..... 더보기
eclipse.ini 다중 secure_storage 정보 추가. 맥에서 spring tool suite 나 eclipse로 회사소스(github)와 내 github 소스 repository를 스위칭해 작업하다보면 secure 이슈로 인해 github repository를 못찾는 다는 오류를 보게 될때가 있다. 뭐 intellij와 함께 쓰고 있어서 이럴때는 그냥 intellij띄우고 작업을 하곤 하는데.. 여튼 이문제를 해결하려면 sts,eclipse의 응용 프로그램을 복사하거나 스크립트를 만들어서 스위칭 하는 방법이 있으며, xxxx.ini에 -Duser.home=/Users/Grissom/github (기본은 /Users/Grissom/ ) 를 추가하여 다른 org.eclipse.equinox.security/secure_storage 를 읽도록 처리하면 문제없이.. 더보기
Node.JS / Google OAuth2 작업중 이슈. passport.serializeUser(function(user, done) { done(null, user); }); passport.deserializeUser(function(obj, done) { done(null, obj); }); passport.use(new GoogleStrategy({ clientID: GOOGLE_CLIENT_ID, clientSecret: GOOGLE_CLIENT_SECRET, callbackURL: GOOGLE_CALL_BACK, passReqToCallback : true }, function(request, accessToken, refreshToken, profile, done) { process.nextTick(function () { return done(.. 더보기
HikariForAurora Failed HikariForAurora - Failed to validate connection org.mariadb.jdbc.MariaDbConnection (Connection.setNetworkTimeout cannot be called on a closed connection) 이건은 지난번 포스트와 동일하다. https://eclipse4j.tistory.com/264 다시한번, 써보면... DB의 Global time_wait는 60초 입니다. 60초 내에 연결이 없는 경우 세션을 종료 시키게 됨. (기본값은 8시간) hikaricp의 maxlife시간은 훨씬 긴 시간을 가지고 있기 때문에 끊어졌던 pool을 찾으려고 하지만 이미 종료되었기 때문에 나는 경고. 똑같은 설정으로 로컬 재현을 해보면 set .. 더보기