While trying to enable Spring DM with web support on virgo-tomcat-server-3.0.2.RELEASE, I get the exception:
ERROR WebExtender-Init
org.springframework.osgi.web.deployer.tomcat.TomcatWarDeployer
No Catalina Service found, bailing out
org.springframework.osgi.service.ServiceUnavailableException:
service matching filter=[(objectClass=org.apache.catalina.Service)] unavailable
These are the bundles I added to the server:
catalina.osgi-5.5.23-SNAPSHOT.jar
catalina.start.osgi-1.0.0.jar
spring-osgi-web-1.2.1.jar
spring-osgi-web-extender-1.2.1.jar
Has anybody had this error before?
Thank you.
You don't need to add catalina jar's in the pickup directory, since Tomcat Virgo Server has support for tomcat by default. You have to add catalina jar files to run Tomcat on Equinox OSGI server.
Spring dynamic modules has become a Eclipse Gemini Blueprint project in late 2009. All new development (including for 2.x) is now hosted and released through the Eclipse foundation
Eclipse Gemini Blueprint can be considered Spring DM 2.x, the successor of Spring DM 1.x.
Tomcat Virgo Server has all the Blueprint Services(Spring DM) jar files inbuilt. You can refer here on how to use Spring MVC with Gemini Blueprint Services.
The same issue is discussed in this forum.
Related
While upgrading JBoss server from 6 to 7.4, I got to know that Spring integration is no longer supported in JBoss EAP 7. But in my project we have used Apache CXF dependency injection to provide WS endpoints. But as spring integration is no longer supported, I need to replace Spring custom configurations with the new JBossWS descriptor configuration but I got no references anywhere.
This approach is specified in below URL at point no: 5.1.2
APPLICATION MIGRATION CHANGES
Can somebody help me with this migration?
I tried by removing servlet dependency from web.xml and it was working but then I WS endpoints stopped working as I removed the dependency injection. PFA for reference
I am studying Spring Framework (all features) preparing to start some microservices and web applications for the first time. I am puzzled by the injection of Tomcat by Spring. If I buy Java hosting with Tomcat already running or set up tomcat to be already configured and supposedly running on a server, is this going to cause a conflict because it is also included in Spring? Or are we talking two different things where what is included in Spring is a connector to Tomcat instead of Tomcat itself?
I believe you are talking about Spring Boot which comes with bundled tomcat (JAR packing). If you package as a JAR, tomcat will be bundled but if you want to use your own tomcat or Jetty or whatever you should look at bundling as WAR file which will exclude tomcat bundling.
few pointers for you
https://spring.io/blog/2014/03/07/deploying-spring-boot-applications
https://therealdanvega.com/blog/2017/06/28/deploying-war-application-server-spring-boot
I've been reading about using Spring Boot and Gradle to quickly build RESTful services: https://spring.io/guides/gs/rest-service/. I'd like to give it a try but I need to build a war that's compatible with servlet 2.4 (I know.. life in the 1970's).
The error I get when attempting to deploy the war generated by following the guide above to Sun App Server 8.1 is:
Unknown deployable object type specified: "Cannot determine the J2EE
component type"
The generated war has no web.xml and there may be other expected artifacts.
Configuring a spring-boot application using web.xml seems to suggest that a web.xml can be packaged with a Spring Boot application but doesn't explain how.
Is Spring Boot compatible with older servlet specs? How can Spring Boot and Gradle be used to generate a war that works on older web containers?
Thanks.
The answer to the question you linked to didn't actually go as far as saying that you could easily create a fully-leaded Boot application with Servlet 2.4. I consider that quite a hard, but probably achievable, target if you are prepared to do some legwork, and accept some compromises. You might find this stuff useful: https://github.com/scratches/spring-boot-legacy (I managed to use it to push an app to GAE). But there are some limits to what can be supported for such old technology, and we aren't officially supporting anything other than Servlet 3.0.1 right now.
I have an standalone Apache ServiceMix 4.4 application, it works nicely. Now, I want to deploy this application inside a JBoss Application Server 7. I use Maven as project and dependency management tool.
My objective is deploying the application not touching any line of code, only maven POM files. I can add new dependencies, change some versions (minor) and use different tools. I want, as a second objective, integrate all the Apache CXF DOSGi container features into JBoss AS ones seamlessly.
I think it is possible, but I found information for old releases of JBoss and ServiceMix or incomplete guides like this.
Can someone provide more information about that?
EDIT
I have found some issues in JBoss issue tracker:
Initial runtime support for Karaf based products
And some JBoss forum topics:
Migrating osgi bundles running in Karaf to JBoss 7 as OSGI container
I forgot to mention that my application is using Apache Karaf OSGi runtime.
Well Servicemix is "pre-"setup of a Container (Apache Karaf) and lot's of other Apache Projects like ActiveMq and Camel plus some ServiceMix specialties. So why would you want to deploy this setup in another Container?
If you want to do something like this, try to deploy std. Apache Camel, ActiveMQ and CXF and your own app in JBoss.
I am about to incorporate Spring DM into a bundle that will run in the Apache Karaf OSGi framework. Given that Spring DM is being transitioned to Gemni Blueprint, should I use Spring DM 2.0.0.M1 or start fresh with Gemni Blueprint 1.0.0.M1? Or should I go with the last formal release of Spring DM (1.2.1)? Any thoughts?
UPDATE:
This could serve as an argument against using Gemni Blueprint:
As of M1, not all modules or projects
inside Spring DM have been moved. At
the moment only the io, core, extender
and test modules have transitioned are
provided in M1. With the up-coming
release of OSGi RFC-66, the web
support is being discontinued.
Existing users are encouraged to look
at Eclipse Gemini Web project. The
plans for the Maven archetype and
annotation extension are undefined for
the moment. -- http://www.eclipse.org/gemini/blueprint/documentation/migration/
The fact that not all of the Spring DM modules are included in Gemni Blueprint could make existing documentation difficult to follow. Has anyone tried using Gemni Blueprint and Gemni Web to do the same things that are done with Spring DM?
Since Spring DM has been contributed to the Eclipse Foundation more than 1.5 years ago, I suggest you to go with Gemini Blueprint:
In late 2009, Spring DM has been contributed to the Eclipse Foundation as the Gemini Blueprint project. All new development is now hosted and released through the Eclipse foundation. Please see the Gemini Blueprint site for details.
For more information on the Gemini project and Spring DM donation see the links below:
see here. Documentation for migration from Spring DM here.
Also you probably should check out Virgo.