I'm having a lot of trouble understanding a use case for ESB Publisher. (The documentation explains what each button/field on the page does but doesn't describe sample use case scenarios.) I have a very simple Route which calls a very simple Job (through cTalendJob). All works well in Studio and when I first deploy it. However, if I make a change to the Job in Studio and publish the new Route (either from Studio directly or through ESB Publisher) my change doesn't impact Runtime unless I redeploy the Route. Even if I Stop and Start the Route, the old version will be running until I redeploy. There is no way to automate deployments in TAC with Enterprise ESB so deploying becomes a step that requires manual intervention (to click on the Deploy button in ESB Conductor). Therefore, I don't understand the purpose in having the ability to automate Publishing when this doesn't affect runtime until the Route is re-deployed. It only automates part of the process. Am I missing something completely? Could somebody share a simple use case that I could re-create where the ESB Publisher (and scheduled triggers) are used?
Yes - I've read this document several times and it basically explains technically how to add a publishing task, set up a trigger, etc. This was all very easy to figure out from the ESB Publisher page itself as it's laid out really well. My question is around the use of this. When I publish an updated Route that's already running, I don't see the changes to my new route in runtime unless I re-deploy the Route. So what is the use in being able to schedule the Publishing step if it has no impact on runtime until the Route is re-deployed which is a manual step (cannot be scheduled) in ESB Conductor?? I'm trying to understand if I'm doing something wrong, have something set up wrong or is this a limitation to how it all works. Please note that I did the ESB training course but it didn't cover this at all. Unfortunately, I didn't have this question before that course.
Hi Jackie, One of the use cases for this is around facilitating various development processes such as Continuous Integration (CI), etc. for automated testing or whatnot. You can have an artifact published based on a schedule to interact with some nightly build and/or testing procedure. This publishing just places the artifact into the artifact repository - it's not meant to deploy directly to a running environment. So based on the requirements in your environment, you may not need to use the ESB Publisher. However, if you want to schedule a publish and then deployment, there are other ways to do so using scripting against the ESB Runtimes themselves to update/install the newly published item. Best Regards, Ben
Thanks so much for the clarification! This helps me understand the results I'm seeing. We have purchased Enterprise ESB so we have ESB Publisher and ESB Conductor available to us. Am I correct in understanding that we don't have any means - strictly through TAC - to schedule the running of a Job? This seems possible through Job Conductor, but not ESB Conductor. I understand that, with ESB, we're mostly deploying Routes and Services which are always running. We just have a couple of Jobs that we'd like to schedule if that were possible. Are there any examples on the Talend website of scripting against the ESB Runtime to update/install newly published items? Thanks so much!
I'm glad that helps. One example you can check out ships with your Talend ESB container in container/scripts. The most helpful would be configKarafContainer.sh. Instead of the configuration commands there, you'll be using commands from the osgi: and features: library to uninstall and install your various features. In order to run it, you can have a shell script connect directly to the Karaf console through SSH and execute the desired script or execute the commands directly. An example command to run an external script in Karaf is: source scripts/configureC1.sh Best Regards, Ben