반응형 프록시3 [Spring] @Transactional 핵심 정리 / 우선순위, 프록시, 예외 @Transactional 우선순위 1. 클래스의 메서드 2. 클래스의 타입 3. 인터페이스의 메서드 4. 인터페이스의 타입 -> 인터페이스에는 @Transactional을 쓰지 않는 것이 좋다(스프링5.0 이하에서 인식X, 다른 AOP 방식에서 적용 안 될 가능성) @Transactional과 프록시 - @Transactional 애노테이션이 클래스나 메서드에 하나라도 있으면 트랜잭션 AOP는 프록시를 만들어서 스프링 컨테이너에 등록 - 동일 클래스 내에 @Transactional이 붙지 않은 메서드를 호출 후 @Transational이 붙은 메서드를 호출할 때 트랜잭션 적용 안됨 이유: @Transactional이 있는 클래스는 프록시가 만들어짐.. 1) 프록시의 메서드(@Transactional X.. 2022. 11. 26. [JPA] 프록시 entityManager.find() 데이터베이스 조회를 통해 실제 엔티티 객체 반환 entityManager.getReference() 데이터베이스 조회를 통하지 않고 프록시 엔티티 객체 반환 실제 사용시에 DB를 조회해서 실제 Entity 생성(프록시 객체 초기화) ex. member.getUsername() # 프록시 특징 - 실제 클래스를 상속 받아서 만들어짐 - 실제 클래스와 겉모양이 같음 - 사용하는 입장에서는 진짜 객체인지 프록시 객체인지 구분하지 않고 사용하면 됨 - 프록시 객체는 실제 객체의 참조(target)를 보관 - 프록시 객체 호출하면 실제 target의 메소드 호출 - 처음 사용할 때 한 번만 초기화 - 프록시 객체 초기화 : 프록시가 실제 엔티티가 되는 것이 아니라 실제 엔티티.. 2022. 4. 6. [Apache2 Proxy설정] 80포트로 여러 서비스를 하고 싶을 때! 서비스를 할때는 도메인 뒤에 포트를 붙여서 서비스 하기 매우 볼품없다! 서버가 하나뿐인 가난쟁이는 80포트에 여러 서비스를 붙여야했고, 그러기 위해서는 프록시 설정을 통해 80포트로 들어온 아이들을 도메인별로 실제 해당 서비스로 보내주는 설정을 해야했다 잊지않기 위해 기록을 한다 01. proxy 모듈 활성화 아래 명령어로 모듈을 활성화한다 #a2enmod proxy #a2enmod proxy_http #service apache2 restart 02. /etc/apache2/site-enabled/000-default.conf 파일 수정 # 8080(abc.co.kr), 90(def.com) 포트로 운영 중인 서비스가 있다고 가정 ServerName abc.co.kr ServerAlias abc.co... 2020. 5. 31. 이전 1 다음