본문 바로가기

Java & 스프링/Java17

[Java] was가 여러개/멀티스레드 환경에서 중복 id체크 어떤 문제? 일반적으로 운영 환경에서는 was가 여러 개인 환경이 대다수입니다. (대다수가 아니라 99% 정도?) was가 여러 개 이거나 멀티스레드 환경에서 만약 동시에 회원가입을 한다면 id 중복체크를 어떻게 해야 할까요? 아주 간단한 팁(?)을 공유해보겠습니다. 소스코드 아래와 같은 servicer가 있다고 가정해 보겠습니다. @Service @Transactional(readOnly = true) public class MemberService { @Autowired private MemberRepository memberRepository; /** * 회원 가입 * * @param member * @return */ @Transactional public Long join(Member membe.. 2020. 1. 29.
[jackson, issue] 이슈 해결 - No serializer found for class 어떤 이슈? 급하게 테스트해볼 이슈가 있어서 간단하게 객체를 만들고 이 객체를 json string으로 변환해야 할 일이 있었습니다. 그래서 테스트용 class를 생성하고 이를 ObjectMapper의 writeValueAsString()를 이용하여 출력해 보았는데... 아래와 같은 에러가 튀어나왔죠. com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class com.hongjun423.toy_project.domain.Student and no properties discovered to create BeanSerializer (to avoid exception, disable Serializat.. 2019. 12. 28.
[Java] CentOS 환경에서 openJDK 8 설치 및 환경변수 설정 CentOS환경에서 openJDK를 설치해보도록 하겠습니다. 사전 확인 일단 먼저 JAVA가 설치되어 있는지 확인하도록 해보겠습니다. [itsme@localhost ~]$ yum list installed *jdk-devel Error: No matching Packages to list 'No matching Package'가 출력되는 걸로 보아 설치가 안된 것으로 확인했습니다. 이번엔 OS의 bit를 확인해보도록 하겠습니다. 64bit OS인 걸로 출력됩니다. [root@localhost elasticsearch]# getconf LONG_BIT 64 openJDK 설치 이제 openJDK를 설치해보도록 하겠습니다. 필요 환경에 따라 openjdk-devel과 openjdk 중에 선택하여 설치를 진행.. 2019. 12. 17.
[Java] 자바의 예외 - Exception, RuntimeException 그리고 Error 자바의 Error, Exception에 대해 알아보려 한다. 지금부터 볼 내용은 포스팅 가장 아래의 레퍼런스 링크를 참조해서 읽어보면 좋겠다. 일단 Error와 Exception의 차이에 대해 알아보자. Throwable class Throwable 클래스는 Java 언어의 모든 오류 및 예외의 슈퍼 클래스이다. 이 클래스의 인스턴스(또는 그 서브 클래스 중 하나)인 객체만 Java Virtual Machine에 의해 발생되거나 Java throw 문에 의해 발생될 수 있다. 예외의 compile-time checking을 위해, RuntimeException 또는 Error의 서브 클래스가 아닌 Throwable 및 Throwable의 서브 클래스는 Checked 예외로 간주된다. Error class.. 2019. 11. 5.