Spring chama RMI
RMI (Método Remoto de Invocação) Método Remoto Chamada para realizar a comunicação remota entre os aplicativos Java. A seguir, descreve como usar o RMI usando o Spring.
A estrutura do pacote é a seguinte:
Defina a interface de chamada
Public Interface Userdao {public String getUser (String UserName) lança Exception;}Classe de implementação da interface
classe pública userdaoimplimples userdao {public string getUser (stringusername) lança exceção {return "test:"+nome de usuário;(1) Configure o serviço RMI:
ApplicationContext-rmi-server.xml <beanid = "userdaoimpl" class = "com.rmi.userdaoimpl"/> <beanid = "userdaoimpl_exporter" class = "org.springframework.remoting.rmi.rmSiSticeExter">) AME "value =" rmi/userdaoImpl "/> <PropertyName =" ServiceInterface "Value =" com.rmi.userdao "/> <PropertyName = "Registryport" Value = "8819"/> </ Bean>
(2) Iniciar o serviço RMI:
classe pública rmiserver {publicstaticfinal ApplicationContextContext = new ClassPathXMLApplicationContext ("ApplicationContext-rmi-server.xml");(3) Access RMI Services
applicationContext-rmi-client.xml <beanid="userDaoImpl_client"class="org.springframework.remoting.rmi.RmiProxyFactoryBean"> <propertyname="serviceUrl"value="rmi://localhost:8819/rmi/userDaoImpl"/> <propertyname="serviceInterface"value="com.rmi.UserDao"/> <propertyname="refreshStubOnConnectFailure"value="true"/> <propertyname="lookupStubOnStartup"value="false"/> </bean> classe public rmiclient {publicstaticVoid Main (String [] args) {ApplicationContext Context = novo ClassPathXMLApplicationContext ("ApplicationContext-rmi-client.xml"); (Userdao.getUser ("Li")); }} Spring Call Quartz
1. Quartz é uma estrutura de agendamento de empregos, o quartzo integrado à primavera, o que é muito conveniente de usar.
2. Escreva aulas de execução
Importar org.springframework.context.ApplicationContext; z.xml "); // se o preguiçoso init do bean startquetz estiver definido como false no arquivo de configuração Depois, não há necessidade de instanciar //context.getbean("startQuertz ");3. Escreva arquivos de configuração
<!-classe de trabalho para chamar-> <bean id = "quartzjob" /> <!-defina o método para chamar objetos e chamar objetos-> <bean id = "jobDetail"> <nome da propriedade "names) todos 22,23 9 9? Você consegue pensar? ? Uma vírgula (,) é usada para especificar uma lista de valores em um campo. Por exemplo, o uso de valores 0,15,30,45 no segundo campo significa que um gatilho é acionado a cada 15 segundos. Slashes (/) são usadas para horários incrementais. Acabamos de usar vírgulas para representar incrementos a cada 15 minutos, mas também podemos escrevê -los como 0/15. Scrible (-) é usado para especificar um intervalo. Por exemplo, 3-8 no domínio da hora significa "3, 4, 5, 6, 7 e 8 pontos". O asterisco (*) indica que você deseja incluir todos os valores legais nesse campo. Por exemplo, usar um asterisco no domínio do mês significa que esse gatilho será acionado todos os meses. A letra L indica o último valor permitido em um campo. É suportado apenas pelos domínios diário e semanal. O personagem W representa dias de semana (seg-sex) e só pode ser usado no domínio diário. É usado para especificar o dia da semana mais próximo do dia especificado (não sábado). # Os caracteres só podem ser usados no domínio periférico. É usado para especificar em que dia da semana em um mês especificado. Por exemplo, se você especificar o valor do campo semanal em 6 #3, significa a terceira sexta -feira de um determinado mês (6 = sexta -feira, #3 significa a terceira semana do mês). -> </propriedade> </bean> <!-Classe de gerenciamento geral Se preguiços-init = 'false' for usado, o contêiner executará o agendador-> <bean id = "startQuertz" lazy-init = "false" AutoCire = "no"> <nome da propriedade = "Triggers"> </list> <ref Bean = "Dotime"/">
4. Sobre expressões de cronexpressão
<!-Expressão de Cron-> <Nome da propriedade = "Cronexpression"> <Value> 2/5 44-46 22,23 9 9? Você consegue pensar? ? Uma vírgula (,) é usada para especificar uma lista de valores em um campo. Por exemplo, o uso de valores 0,15,30,45 no segundo campo significa que um gatilho é acionado a cada 15 segundos. Slashes (/) são usadas para horários incrementais. Acabamos de usar vírgulas para representar incrementos a cada 15 minutos, mas também podemos escrevê -los como 0/15. Scrible (-) é usado para especificar um intervalo. Por exemplo, 3-8 no domínio da hora significa "3, 4, 5, 6, 7 e 8 pontos". O asterisco (*) indica que você deseja incluir todos os valores legais nesse campo. Por exemplo, usar um asterisco no domínio do mês significa que esse gatilho será acionado todos os meses. A letra L indica o último valor permitido em um campo. É suportado apenas pelos domínios diário e semanal. O personagem W representa dias de semana (seg-sex) e só pode ser usado no domínio diário. É usado para especificar o dia da semana mais próximo do dia especificado (não sábado). # Os caracteres só podem ser usados no domínio periférico. É usado para especificar em que dia da semana em um mês especificado. Por exemplo, se você especificar o valor do campo semanal em 6 #3, significa a terceira sexta -feira de um determinado mês (6 = sexta -feira, #3 significa a terceira semana do mês). ->