Pergunta

Esta é cruz postou a partir do FuseSource fórum e o fórum servicemmix .

Não consigo DOSGi trabalho em FUSE. Eu estou tentando obter DOSGi 1.1 INSTANTÂNEO do CXF com a descoberta Zookeeper para FUSE 4.1.0.2. Eu também estou usando Zookeepr 3.2.1.

Tudo funciona perfeitamente em Felix 2.0.0. I basta seguir as instruções na página do DOSGi Descoberta e, em seguida, instalar o Descoberta Demonstração pacotes. Para DOSGi, eu só usar o cxf-dosgi-ri-singlebundle-distribuição-1.1-SNAPSHOT.jar para DSW e cxf-dosgi-ri-descoberta singlebundle-distribuição-1,1-SNAPSHOT.jar para zookeepr descoberta. Então, quando eu começar os pacotes de amostra com a impl serviço de amostra em uma máquina, eu vejo a criação do nó no tratador. Então eu começo o cliente de amostra em outra máquina e vejo a saída na máquina de serviço. Funciona bem. Eu tenho um aviso sobre um erro XML que está sendo ignorado porque alguns XSD coudl não ser encontrada, mas não parece afetar nada. Oh, eu também tenho que instalar o pacote OSGi compêndio primeiro.

Quando eu passar para Fuse, eu não tenho tanta sorte. O pacote OSGi compêndio vem com fusível, então não há necessidade de instalar isso. Eu deveria apenas ser capaz de instalar o singlebundle dosgi-ri, eo feixe único dosgi-ri-descoberta, mas isso não funciona. O singlebundle dosgi-ri tem todos os tipos de sobreposição de pacotes com servicemix. Eu recebo um erro sobre a porta 8081? ou qualquer que seja o parâmetro osgi.http.service é, que já está em uso. Aparentemente, o singlebundle dosgi-ri vem com webservice pax, que lê a mesma propriedade que o pacote de serviço servicemix http que vem com servicemix. Isso é quando eu mudar para o cxf-dosgi-ri-multibundle-distribution-1.1-SNAPSHOT.zip e descompactá-lo a tomar as peças que eu quero . Tomo a DSW agrupar fora do multibundle dosgi-ri e instalar isso. Sem sorte por causa da dependência jdom. Então eu instalar o jdom que vem no multibundle ri, que funciona bem. Em seguida, voltar a DSW, e que se instala, então eu acho que estou chegando a algum lugar. Hora de voltar e instalar o singlebundle ri-descoberta. Quando eu começo que eu recebo um ClassCastException serviço de log pax dizendo que não pode ser convertido para um LOGSERVICE osgi ou algo assim. Mas isso é apenas um erro de registo, e no fundo ele diz que não consegue encontrar a classe de transporte para http: //schemas.xmlsoap.org/soap/http . Ok, então o registo é asneira e eu estou faltando alguma classe de transporte. Bem, claramente isso vem de não instalar o suficiente do multibundle ri porque ele trabalhou em felix. Então o que mais lá é necessário. O cxf-minimal-bundle após a inspeção tem a classe faltando causando esse último erro. Então eu instalar isso. Tente iniciar o pacote de descoberta, mas eu acabar com algum tipo de exceção corbabroker. Wtf. Cuja usando corba em todosisto? Então eu voltar atrás e desfazer tudo isso e tentar ficar com as distros singlebundle de ri e ri-descoberta, mas simplesmente desligar o serviço servicemix http. Que trava servicemix e eu não posso reiniciá-lo becauuse o cxf JBI componentes acabar com uma dependência não satisfeita. Ímpar. Eu só vou ignorar isso porque eu não uso aqueles de qualquer maneira, e tentar iniciar minhas amostras. Não é possível iniciar as amostras porque diz cais não pode iniciar porque as portas já em uso. não faz sentido, porque eu desligar o serviço http servicemix já. Então eu reiniciar cais. Trabalho? Talvez. Meu serviço fica registrado e eu posso procure a wsdl usando o firefox, mas sem registro no tratador. Tente desligar o pacote ri-descoberta e reiniciá-lo, mas eu recebo um NullPointerException. Appparently o ri-descoberta nunca realmente começou a subir devido a um dos erros acima mencionados. Então eu comecei a tentar desmontar o singlebundle ri-descoberta e puxe os internos. Isso não funcionou, porque todos os seus aparentemente necessário, embora theres algumas libs dentro poderíamos fazer sem.

Fim da história. não pode obtê-lo para o trabalho. ninguém pode fazê-lo funcionar? Eu só quero executar os exemplos de descoberta em SMX4. Tenho certeza que é apenas um problema de conflito pacote. Não é isso que OSGi é suposto correção ??? Isto é pior do que apenas me dizendo o que abala você depende e me fazendo configurar o meu classpath. Pelo menos então eu, eventualmente, obter a coisa funcionando.

Os meus próximos passos, penso eu, será para tentar novamente com o ri-multibundle, apenas o dsw e jdom, mais o singlebundle ri-descoberta. Então eu vou tentar alguns dos pacotes cxf-fusível ou alguns dos pacotes cxf-rt para contornar o problema de transporte sabão.

Notas Editar: Eu preciso de mais do que apenas mostrando o DOSGi feixes em um estado ativo. Eles realmente não fazer muito até que você tentar expor um serviço através deles. Eu preciso ver várias máquinas registrando serviços com uma instância tratador e outras máquinas que consomem esses serviços - assim como a correr Amostra DOSGi Discovery.

Eu tenho sido capaz de obter cxf para expor o exemplo de serviço distribuído como um webservice sabão, utilizando o pacote cxf mínimo mencionado tanto por partes remoção dos feixes CXF originais e reiniciar o serviço cais, e, em seguida, iniciar o serviço de amostra. .. ou instalando o buundle mínima cxf, em seguida, iniciar o meu serviço, em seguida, imediatamente desinstalar o cxf pacote mínima, em seguida, reiniciar o cais ... Eu acho que foi o fim. Nenhum de estes irão trabalhar a partir de um arranque limpo, e ter que reiniciar os serviços como um procedimento para obter DOSGi de trabalho é apenas ruim. Eu nem sei por que a instalação, em seguida, desinstalar o faria qualquer coisa -. Não deve ser deixar quaisquer artefatos ao redor

Foi útil?

Solução

Primeiro ponto, olhando para as CXF DOSGi mega-pacote Eu acho que isso é apenas para basicamente o ambiente mínimo quick-n-sujo hackers em um runtime OSGi nua, fornecido pela Equinox e Felix. Não vai ser destinado para ambientes mais ricos como fusível ou ServiceMix como você provavelmente irá colidir em serviços do pacote e da plataforma, como você parece ter visto.

Eu era capaz de conseguir servicemix 4.0 para iniciar limpa (isso é no Windows) e então eu hot-implantada:

  • com.springsource.org.jdom-1.0.0.jar
  • cxf-bundle-minimal-2.2.1.jar
  • cxf-dosgi-ri-descoberta-local-1.0.jar
  • cxf.dosgi-ri-dws.cxf-1.0.jar

Usando o servicemix consola I listados todos os pacotes e viu que todas as anteriores foram no estado Active (como esperado). I listados os serviços e os 2 pacotes CXF DOSGi foram exportação de serviços, de modo que parecia ter funcionado corretamente. Nenhum erro foi relatado no log.

Como você está familiarizado com OSGi? Servicemix parece muito grande e aprender OSGi, servicemix e CXF / DOSGi juntos não vai ser fácil (na minha opinião).

O console fornecido não é grande para o material OSGi e eu sugiro a instalação dos pacotes do console Apache Felix para um interface web .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top