Servicemix 4.4 & hot deploy - jbossfuse

I'm newbie with servicemix 4.x. I've tried servicemix 4.4 and servicemix-fuse 4.4 with both of them I have the same problem. I've tried to deploy samples to the deploy dir and nothing happens. Servicemix runs, I check the log (tail -f servicemix.log) and there's no message about deploying. I've tried to find some docs about hot deploy under 4.4 but I couldn't find anything.
As I can remember hotdeploy worked out of the box with servicemix 3.x, I just copied zips to hotdeploy dir.
Thanks,
Hubi

I believe ServiceMix 4.4 will hot deploy (<servicemix home>/deploy) files of two types: OSGi bundles and JBI service assemblies. That is, jar files (and exploded jar files) that contain the extra OSGi or JBI meta-information, OSGI blueprint xml files, and Spring xml files, which it assumes are OSGi. ServiceMix 4.4 will not deploy vanilla jar files as its not clear how you would want it to load them - would you want it to wrap it as an OSGi bundle, guessing at imports and exports...
Its not clear from your question what samples you are having problems with. A quick look at most of the ServiceMix samples seems that most of them are OSGi bundles (Maven packaging == bundle), which all should hot deploy when copied to the deploy directory.
If you know your jar files are, say OSGi bundles, then I'd check the <servicemix home>/etc/org.apache.felix.fileinstall-deploy.cfg file's felix.fileinstall.dir property to ensure that its configured to pick up from the directory you think. I'd also check that the File Installer and Deployer services are installed in running. Those typically are within the first 30 services installed, and don't show up on an osgi:list, so you can try
karaf#root> osgi:ls | grep Deployer
If you do not see them, check for modifications to the etc/startup.properties file - someone may have removed those services...
Hope that helps,
Scott
FuseSource

I'm using apache-servicemix-4.4.1-fuse-01-11 and hotdeploy works for me for JBI as well as OSGI based packages (zip for JBI and jar for OSGI).
Try to find your installed packages by running on the karaf console:
osgi:list | grep 'YourBundleName'
if its there all should be ok, you can install and uninstall bundles using other two commands:
osgi:install yourbundlename
osgi:uninstall yourbundlename
Once you have your bundle installed you can see the log output by issuing the following command (works only on Fuse ESB from what I know):
log:tail

Related

JSTL doesn't work when running from within eclipse

I'm trying to add JSTL support to an spring boot application, but I'm getting this error message when running it from within eclipse:
The absolute uri: [http://java.sun.com/jsp/jstl/core] cannot be resolved in either web.xml or the jar files deployed with this application
If i generare an executable war and run it, JSTL works correclty.
I've tried almost all the solutions described in the other questions but none of it seems to focus on running it from eclipse.
I've created this tiny repo to demostrate it:
https://github.com/rroman-encora/brokenjstl
This is my setup:
Spring Boot 1.5.7
Eclipse Version: 2021-03 (4.19.0)
JDK 11.0.11
The project runs with source and target java 1.8
Thankyou
If another poor soul finds him self in this situation, may this be the answer:
Just copy all the *.tld files from the jstl jar inside your WEB-INF directory and this should work.
Obviously there's a "proper" way to do this, maybe it's just a setting on spring boot, maybe you need to configure the embedded tomcat/jasper TLD Scanner, but today I'm so tired to keep looking for the perfect aswer.
BTW this also keeps working if you deploy your application as an excecutable war.

WebSphere Liberty Eclipse won't publish application to apps directory

I have a 4-project, Maven-based EAR application (JavaEE-7.0) with a parent, WAR, resources, and EAR project. I am using Eclipse Oxygen with the latest release of WAS Liberty 17.0.0.2 and the latest release of the WAS Liberty plugin for Eclipse Oxygen.
I have no error markers anywhere in any of my files and Maven can produce an EAR.
When I try to publish to Liberty, nothing happens. I've done all number of possible cleans: workspace cleans, Liberty server clean, Maven clean, etc. but even though the server says [Synchronized], nothing ever shows up in the apps directory of my server.
The server is locally hosted on Windows 10 and I'm using JRE 8u141.
When WLP starts up, it says CWWKZ0014W: The application foo could not be started as it could not be found at location blah.ear.
I've tried nuking my WLP installation and reinstalling from scratch; still no dice.
(Cue rant about tools keeping me from getting work done...)
How can I resolve this?
Are you using the Add/Remove dialog from the Servers view to publish the EAR to the server? This works for me using my sample maven EAR project.
A few things to check:
EAR project's Deployment Assembly page references the other projects
The WebSphere Application Server Liberty Targeted Runtime is checked on the Targeted Runtimes properties page for each of the projects
Project > Build Automatically is turned on (or you've done a Build All) in your workspace
Your server's server.xml should contain an 'enterpriseApplication' element after the publish
If the publish still doesn't work, can you provide more details about your EAR's pom as well as how you created the project. (using an archetype? based off of a sample? converted an existing EAR project to a maven project?)

Eclipse Luna with JBoss Tools does not export libraries

I'm attempting to upgrade our environment to Eclipse Luna w/ JBoss Tools from our current Indigo instance. Most things are sorted well enough, but I'm running into a wall when deploying our application to a JBoss server within Eclipse.
As far as I can see, the lib/ directory of the .ear file generated contains none of the transitive dependencies from maven that we would normally expect to see, and as a result the application does not deploy or run correctly on the server. For clarity, we use the 'use workspace metadata' deployment option on the JBoss server within Eclipse.
By contrast, if I right click on the relevant project within Eclipse and say Export... .ear file, the resulting .ear contains all the .jars that I'd expect inside the lib/ folder (there's over 50 of these things, so it's pretty easy to spot the difference). Subsequently dropping the .ear into the deploy directory of JBoss and starting a server manually has the application working fine.
Has anyone ever encountered this sort of issue within JBoss Tools / Luna, and if so what steps were taken to try and remediate it?
Cheers for any help.
Dave.
EDIT: For what it's worth, this is a JBoss Enterprise Application Platform 5.x server instance, and we're using JBoss EAP 5.2

Hot deployment of java web module with maven in weblogic 10.3

I tried to search the steps involved in hot deploying the java web application in weblogic 10.3, but couldn't succeed. Can some one help me out in describing the steps required for hot deployment. I am using maven multi-module project(web module, .war file) with eclipse. Each time if any changes are there to java files I am rebuilding the entire project and redeploying it to test in web logic 10.3.
Also just want to under stand where can I find WEB-INF/classes (.class files) in weblogic directory? I could able to see all files except files under WEB-INF/classes in /servers/AdminServer/tmp/_WL_user//war/...
Thanks
Santhosh

Is there a way to deploy exploded bundles in Apache Felix?

We are looking at rearchitecting our web application and want to move to a more modular solution, OSGi seems to meet a lot of our needs.
I've come across the Apache Felix project and taken it for a spin. It looks solid yet I find the development cycle a bit slow as it requires a maven build of the bundle(s) to make any code changes effective.
Instead I would like to be able to reload a bundle once classes have been compiled by Eclipse, without any extra building/packaging. Similar to how Tomcat and other servlet containers support deployment of "exploded" war files.
Is this possible to do with Felix or any other OSGi container?
In the Gogo shell, you can do:
install reference:file:/path/to/exploded/directory
This will install an exploded bundle. The format of the exploded directory should be exact that of a bundle JAR file.
Apache Felix FileInstall supports exploded bundles out of the box. Just install it, and put a directory with your bundle in the load directory (or configure FileInstall to look somewhere else).
Not exactly answering your question, but if you have issues with the build cycle, you should take a look at bndtools, which is a plugin for Eclipse that a.o. automatically builds and deploys your bundles in a running framework when your code changes.