Inicialização de Classe  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
asaudate
GUJ Master
[Avatar]

Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline

Pessoal,

estou desenvolvendo um framework que monitora os bancos de dados disponíveis para uma aplicação. Até aí tudo bem... mas o caso é que eu gostaria de inicializar o sistema sem necessidade de intervenção do programador, ou seja:

Não vale Class.forName();
Não vale usar AOP para detectar método main (o framework pode ser embutido em sistema J2SE ou J2EE);
Não quero obrigar o desenvolvedor a estender nenhuma classe, implementar alguma interface, etc.

Alguém se habilita?

Alexandre Saudate
__________________________

Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.

Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate

Evite usar Axis2!!! Leia aqui para mais detalhes!

@alesaudate
Quer ler um blog especializado em web services e SOA?

thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Procure algo sobre "Java Agents"


[WWW]
asaudate
GUJ Master
[Avatar]

Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline

Quer dizer... alguma coisa como usar JADE?

Alexandre Saudate
__________________________

Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.

Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate

Evite usar Axis2!!! Leia aqui para mais detalhes!

@alesaudate
Quer ler um blog especializado em web services e SOA?

thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Não sei o que é JADE.

Eu sei o que é um "Java Agent", veja aqui:

http://java.sun.com/javase/6/docs/api/java/lang/instrument/package-summary.html

Eles são usados, por exemplo, na implementação de JPA do Toplink Essentials.


[WWW]
asaudate
GUJ Master
[Avatar]

Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline

Olá, thingol!

Bom... fiz um "olá, mundo" com os agentes, e funcionou, e tal... só que eu tive que usar a opção -javaagent, pra executar por linha de comando. Você sabe de alguma maneira de executar sem isso? Quer dizer... inicializou um jar, tem outro jar no classpath que já tme as devidas opções no Manifest, é só inicializar?

Trocando em miúdos... tem alguma maneira automatizada de fazer a invocação do agente, sem precisar modificar a chamada ao Jar?


Obrigado!

Alexandre Saudate
__________________________

Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.

Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate

Evite usar Axis2!!! Leia aqui para mais detalhes!

@alesaudate
Quer ler um blog especializado em web services e SOA?

cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

Pq nao fazer um driver JDBC que serve de wrapper, e apita em algum lugar quando o banco cai?
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
asaudate
GUJ Master
[Avatar]

Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline

Porque o sistema não seria "meu"; estou desenvolvendo um framework. Esse framework trata não só de monitorar o banco de dados, mas também de redirecionar automaticamente um EntityManager, Connection, qualquer coisa assim, para um banco de dados disponível. Percebe o tamanho da encrenca que seria fazer um driver JDBC wrapper?

Alexandre Saudate
__________________________

Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.

Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate

Evite usar Axis2!!! Leia aqui para mais detalhes!

@alesaudate
Quer ler um blog especializado em web services e SOA?

thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Leia a mesma referência que lhe passei, mas no título "Starting Agents After VM Startup". Obviamente a sua versão da JVM deve aceitar esses tais agents.


[WWW]
asaudate
GUJ Master
[Avatar]

Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline

Já lí, mas o caso é que, mesmo usando tudo, o agente não é inicializado, só o método main.

Meu código está assim:
Agente:


Classe main:



manifest:

Manifest-Version: 1.0
Main-Class: teste.Main
Agent-Class: teste.Agente


e estou executando com o comando java -jar teste.jar


Minha JVM é a 6.
Tem idéias?

Alexandre Saudate
__________________________

Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.

Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate

Evite usar Axis2!!! Leia aqui para mais detalhes!

@alesaudate
Quer ler um blog especializado em web services e SOA?

 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team