Hibernate Search com @TokenFilterDef

Pessoal, sou Willians Martins, novo aqui, tenho uns 5 anos de java SE + JSP, uns 10 meses com Hibernate Core e JSF.

Peguei um projeto (web) de terceiro e preciso resolver algo com Hibernate Search.

O problema é bem claro, já a solução… (não encontro)

Pelo que entendi, o antigo programador utilizou uma notação com o nome @TokenFilterDef para definir (via synonyms.txt) um conjunto de palavras com seus respectivos sinônimos.
A questão é que este TXT só esta sendo lido ao “startar” o servidor, criamos um gerenciador deste txt que edita legal o conteúdo dele, e ele é salvo na pasta classes (originalmente este arquivo está na src, mas ao publicar o projeto ele vai para classes(acho que é o comportamento natural do java)).

A questão é que não posso ficar reiniciando o servidor toda vez que alguem atualiza o TXT.

Está claro minha dúvida, se não estiver, descremo o cenário melhor. (pensei em hot-deploy, mas não achei caminho)

Muito obrigado pela atenção e apoio.

Ass. Willians Martins


Estou pesquisando em todos os lugares possíveis, já acionei 4 amigos especialistas em java, certificados e tudo mais.
Lancei perguntas em forum, baixei o manual do Hibernate Search, estou pirando aqui e ninguém tem idéia de como resolver.
Só preciso fazer o reload do arquivo de sinônimos (synonimus.txt) depois dele ser alterado (em ambiente de produção, sem precisar reiniciar o servidor).

Alguém tem alguma referência, alguem que eu possa ligar, uma idéia de como fazer isso?

cria um thread que fica recarregando o arquivo de 2 em 2 minutos…
ou mais rapido , dependendo do teu servidor !

Acho que essa não seria a solução, pois o arquivo é carregado pelo Hibernate e não por mim mesmo.

[quote=Williansmartins]Acho que essa não seria a solução, pois o arquivo é carregado pelo Hibernate e não por mim mesmo.

[/quote]

O Hibernate não provê nenhum método para refresh?

Isso que eu queria saber…

[quote=Williansmartins]Isso que eu queria saber…
[/quote]

ashudhausd…
te ajudei pra car@lh# né?
desculpa ae.

kkk, mas valeu a intenção

Faz assim:

try { fullTextEntityManager.createIndexer().startAndWait(); //fullTextEntityManager.createIndexer().start(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); }

startAndWait(): Starts the indexing process, and then block until it’s finished. Can be called only once.
Start(): Starts the indexing process in background (asynchronous). Can be called only once.

Valeu Leandro, o projeto foi pra mao de outro cara, vou sugerir pra ele.