Est-il possible de lancer un chameau itinéraire à l'aide d'une interface java ou des haricots?
J'aimerais configurer un printemps bean (soit via l'interface ou classe d'haricot). que je peux appeler à "démarrer" un Itinéraire.
Dans cet exemple simple, lorsque j'appelle la méthode sayHello("monde") du code j'aimerais qu'il voie la valeur de retour de la méthode sayHello l'extrémité qui va l'écrire dans un fichier.
Personne ne sait si cela est possible, ou comment aller à ce sujet?
Je sais que je peux exposer la même interface via CXF et de faire ce travail, mais je veux juste appeler une méthode, de ne pas passer par la peine de l'envoi d'un jms message ou d'appeler un webservice.
public interface Hello{
public String sayHello(String value);
}
from("bean:helloBean").to("file:/data/outbox?fileName=hello.txt");
OriginalL'auteur ScArcher2 | 2010-07-29
Vous devez vous connecter pour publier un commentaire.
Oui, vous pouvez utiliser le proxy/accès distant à dos de Chameau pour ce faire.
Ensuite, lorsque vous appelez la méthode sayHello(valeur) la valeur est routé vers l'itinéraire choisi. Et la réponse de l'itinéraire est retourné à partir de la méthode sayHello.
Voir ces liens
- http://camel.apache.org/spring-remoting.html
- http://camel.apache.org/hiding-middleware.html
- http://camel.apache.org/using-camelproxy.html
Chapitre 14 du Chameau en Action ce livre couvre beaucoup plus en détail:
http://www.manning.com/ibsen
OriginalL'auteur Claus Ibsen
Vous pouvez utiliser ProducerTemplate:
et votre chameau route devrait ressembler à:
OriginalL'auteur mokshino
J'ai besoin de regarder dans Claus réponses, mais pour un rapide et sale de l'INTERFACE utilisateur, je suis allé avec une approche différente.
J'ai été en utilisant Spring MVC 3.1.X et ont une console d'administration de plusieurs articles de ma demande. J'ai écrit un Contrôleur pour afficher les routes et leurs statuts, ainsi que des liens pour démarrer et arrêter les routes en tant que de besoin. Voici une partie du code:
Il y a un peu de POJO j'ai fait pour aller avec elle:
OriginalL'auteur Greg
Aucun des autres répondu a fonctionné pour moi, ils ont tous été construits et sont valables, mais les routes n'ont pas de déclenchement.
C'est la solution que j'ai utilisé:
repeatCount=1
il déclenche exactement une seule fois, au démarrage et les causes de la fève méthode à appeler. Il supporte également un taux d'appel ou de retard si vous avez besoin de la méthode est appelée plusieurs fois.@Handler
annotations sert de marqueur de sorte que le nom de la méthode n'a pas à être explicite dans la voie de la configurationOriginalL'auteur Alpar
Depuis mes itinéraires ont été printemps composants à l'aide de CamelConfiguration. Je l'ai fait pour utiliser mon interface en chameau routes.
C'était très simple, si vous avez plusieurs de haricots à l'aide de la même interface ou une classe abstraite, vous devrez sans doute faire un peu de logique avant d'utiliser
.getClass()
sur le haricot.OriginalL'auteur Yogesh