Acho que muito mais importante do que responder a sua duvida aqui eh perguntar o pq disso… afinal, pq vc quer um MDB “singleton”? :shock:
RodrigoSol
Preciso de MDB Singleton pra controlar a fila de carga de arquivos que vem do mainframe no oracle…
1 - 01_02_2003.txt
2 - 02_02_2003.txt – Depende do 01_02_2003.txt
3 - 03_02_2003.txt – Depende do 01_02_2003.txt , 02_02_2003.txt
4 - 04_02_2003.txt – Depende do 01_02_2003.txt , 02_02_2003.txt , 03_02_2003.txt
Então tenho que garantir que em nenhuma hipótese eles sejam carregados simultaneamente!
louds
Use sincronização externa ao seu container. Como filelocking.
RodrigoSol
Londs,
Mais uma vez…
Como é o caminho das pedras para “filelocking” ?
cv1
Hmm, vc nao precisa de um singleton pra isso… vc esta processando esses arquivos e jogando em algum lugar, imagino… pq nao pegar um recurso compartilhado entre todas as VMs do seu appserver (erhm, por exemplo, um DB ;)) e marcar qual foi o ultimo arquivo que vc processou com sucesso?
RodrigoSol
cv,
Ate pensei nisso…
Só que a seguinte situação me fez escolher/ tentar usar o singleton:
:arrow: A 1ª instancia está processando o arquivo 1.
:arrow: O “AS” decide criar uma nova instancia para processar o arquivo.
:arrow: a 2ª Instancia verifica o flag que indica que existe um arquivo em processamento e aborta o processamento. Nesse caso como faço para o objeto ser processado logo após o termino do outro?
Pra usar esse esquema que você sugeriu o ideal seria usar um POJO que implementasse uma estrutura de dados do tipo FIFO, só que gosto muito do meu MDB(ele ja tah prontinho):lol: e já fiz uma interface WEB para o cara da produção acompanhar os estados da carga e da fila… Vai dar um trabalho danado mudar isso.
No mais desculpe as possíveis bobagens que eu tenha falado aqui.
Idéias?
[/code]
cv1
Jogando ele de volta na fila… o AS vai tentar pegar o 3o, 4o, 5o, 6o, … ate achar o 2o, quando o 1o estiver liberado, dando sempre uma chacoalhadinha na fila, pra q ela nao crie poeira :lol:
Sei lah, isso eh estupidamente ineficiente… tou pensando em alguma outra coisa aqui, mas nao me veio nada na cabeca ate agora nao
RodrigoSol
A ideia do Singleton não funciona?
louds
Não
louds
Vc pode usar o método do cv, mas em fez de usar pooling como ele sugeriu, vc tenta esperar um tempo antes de desistir e voltar para a fila.
RodrigoSol
[set usuario-chato=“on”]
Como conhecimento não ocupa espaço, você bem que poderia me explicar o motivo!
[/set]
louds
“RodrigoSol”:
[set usuario-chato=“on”]
Como conhecimento não ocupa espaço, você bem que poderia me explicar o motivo!
[/set]
Não vai pq o pool não dita qual o número máximo de instancias em uso do MDB, mas sim quantas ficam prontas para usar…
danieldestro
Pegando carona na mensagem:
Preciso limitar o número de MDBs a serem executados de uma só vez, no JBoss 3.0.2.
Alguém tem idéia se é possível?
danieldestro
Pegando carona na mensagem:
Preciso limitar o número de MDBs a serem executados de uma só vez, no JBoss 3.0.2.
Alguém tem idéia se é possível?