336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Dependency
<dependency> <groupId>aopalliance</groupId> <artifactId>aopalliance</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-asm</artifactId> <version>3.1.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>4.1.7.RELEASE</version> </dependency>
|
SERVER
Remote Server
▶XML 파일 생성 : 위치는 당연히 main/resources
▶Example File Name : remote-server-config.xml
Remote Server Run
public class RMIserver { private ApplicationContext context; public RMIserver() { } public void run(){ context = new ClassPathXmlApplicationContext("remote-server-config.xml"); logger.info("Remote Server Open / Waiting Client ..."); } }
|
public interface ServiceRemote { public String rmiAction(String command); }
|
Remote Server 구현 Class
public class ServiceRemoteImpl implements ServiceRemote{ @Override public String rmiAction(String command) { if(command.equals("confirm")){ return "connect"; } else{ MemoryDB memoryDB = new MemoryDB(); memoryDB.db_synchronization(command); return "update"; } } }
|
Client
Remote Client xml
Remote Client Run & Connection
public class RMIclient { private static ApplicationContext context = null; private static ServiceRemote serviceRemote = null; public RMIclient() { } public void connectRemote(){ try { context = new ClassPathXmlApplicationContext("remote-client-config.xml"); serviceRemote = (ServiceRemote) context.getBean("serviceRemote"); System.out.println("connect RMI"); }catch (Exception e){ System.out.println("disconnect RMI"); context = null; } } public static ApplicationContext getContext() { return context; } public static void setContext(ApplicationContext context) { RMIclient.context = context; } //기능 public String confirm_connect(){ return serviceRemote.rmiAction("confirm"); } public String db_command(String command){ return serviceRemote.rmiAction(command); } }
|
Remote Client Service
public interface ServiceRemote { public String rmiAction(String confirm); }
|
Remote Client Synchronized
public class StaticRMI { private static RMIclient rmIclient; public StaticRMI() { rmIclient = new RMIclient(); } //Web Project 가 Client로 사용됨에 따라 static synchronized public static synchronized RMIclient getRmIclient() { return rmIclient; } public static synchronized void setRmIclient(RMIclient rmIclient) { StaticRMI.rmIclient = rmIclient; } }
|