[Geoserver-users] Geoserver 2.8.0 upgrade and Weblogic deployment problems

Hi list

I really hope, that I can get some help here, because I’m on the verge of giving up. I currently administer a production Geoserver instance, which currently runs Geoserver 2.6.2. The operating system is Windows 2008 R2 x64, and it’s installed with the Windows installer with the default Jetty, installed as a Windows service, and runs on JRE 1.7.0_71 x86. This server runs fine. The data is almost 100% based on Oracle Spatial data, where I use the Oracle NG connection. My setup is quite large – 6000 layers, 300 stores and 300 workspaces currently and growing.

But due to recent improvements in the new version 2.8.0 regarding Oracle connections, I need to update this server to the new 2.8.0. But every attempt I’ve made so far to do this has failed. I have always – so far – been able to upgrade Geoserver by simply installing the new version, pointing it to the existing data directory during installation, choosing the same port and JRE as the previous version, and that’s it. But not this time. When I install 2.8.0 with the Windows installer, as I’ve always done, the Windows service is created etc. But the service will never listen to port 8080 (or any other port). A closer inspection of the Geoserver log file reveals, that the line indicating successful start of the port listener:

“Started SelectChannelConnector@anonymised.com:8080” (taken from 2.6.2 log file)

never appears in the log file. The server simply stops loading before reaching this point without any useful information about what’s wrong in the log file. I have of course added the Oracle NG JAR and Oracle JDBC driver as always.

I have played around with various memory related settings in wrapper.conf, like I did with 2.6.2, but nothing seems to make the server start correctly. I have also tried installing the server without the Windows service – ie. having to start the server with startup.bat and shutdown.bat. This doesn’t seem to work neither. The server still loads the configuration from the data directory, until it simply stops and never starts the listening interface. Up until that point, the log file from 2.8.0 looks exactly like the log file from 2.6.2 – ie all data stores etc. seems to load correctly, and I can see the connections to the database being established by running a netstat. But the server never listens on any port.

My wrapper.conf settings from 2.6.2 are here:

Java Additional Parameters

wrapper.java.additional.1=-Djetty.home=.
wrapper.java.additional.2=-DGEOSERVER_DATA_DIR=“%GEOSERVER_DATA_DIR%”
wrapper.java.additional.3=-XX:MaxPermSize=1024m
wrapper.java.additional.4=-Xmx3072M
wrapper.java.additional.5=-Xms3072m

Initial Java Heap Size (in MB)

wrapper.java.initmemory=512

Maximum Java Heap Size (in MB)

wrapper.java.maxmemory=512

As I at some point made the assumption, that this had something to do with some kind of increased memory usage in 2.8.0, I figured, that I could try making Geoserver 2.8.0 run under Weblogic 10.3.6, which we also have. Running it under Weblogic would make it possible for me to run it as a 64-bit Windows service.

But this fails also. I have deployed by unpacking the Geoserver WAR file and want to get Geoserver running with the default data stores in the first place. But even this fails. Geoserver crashes with this error in the log:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘webDispatcherMapping’ defined in URL [zip:C:/Oracle/Middleware/user_projects/domains/ClassicDomain/servers/AdminServer/tmp/_WL_user/geoserver/m2k7gc/war/WEB-INF/lib/gs-web-core-2.8.0.jar!/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘#{webDispatcherMappingSystem}’ is defined at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)

followed by a long stack trace.

I have not been able to find any useful information about this error. In general, the information on how to deploy Geoserver in Weblogic is extremely sparse – some of it dates back to Weblogic 8.1 and is not very useful.

  • Can somebody shed some light on what’s going on here?
  • What has changed so badly in 2.8.x compared to 2.6.x, that I no longer can load my configuration under Jetty with the existing data directory?
  • What does the error under Weblogic mean? Why can the bean “webDispatcherMappingSystem” not be loaded?

I just hope, that someone can help me get Geoserver 2.8.0 running either under Jetty + JRE7 x86 + Windows service or under Weblogic.

Thanks in advance,
Jacob Madsen

Hello Jacob,

We do not have any active volunteers making use of weblogic, so big secret is to test the release candidate - you are a valued member of our team and we need your help making each release a success.

We have had two big changes that you may be hitting:

  • XSD files can no longer be loaded from file references,
  • Loading configuration (from the data directory or rest api) is restricted to classes that have been “whitelisted”

Jukka has provided some sensible steps to start out with, I would also ask you to manually change the logging level (in global.xml) to VERBOSE_LOGGING.properties and then restart GeoServer.

Aside: glad you caught the note about including oracle JDBC driver, although I am used to web logic configurations using JNDI.

Once we have you working again I would like to ask you to update the WebLogic 8.1 documentation you found.

···

On 7 October 2015 at 09:24, Jacob Overgaard Madsen <u2jacob@anonymised.com> wrote:

Hi list

I really hope, that I can get some help here, because I’m on the verge of giving up. I currently administer a production Geoserver instance, which currently runs Geoserver 2.6.2. The operating system is Windows 2008 R2 x64, and it’s installed with the Windows installer with the default Jetty, installed as a Windows service, and runs on JRE 1.7.0_71 x86. This server runs fine. The data is almost 100% based on Oracle Spatial data, where I use the Oracle NG connection. My setup is quite large – 6000 layers, 300 stores and 300 workspaces currently and growing.

But due to recent improvements in the new version 2.8.0 regarding Oracle connections, I need to update this server to the new 2.8.0. But every attempt I’ve made so far to do this has failed. I have always – so far – been able to upgrade Geoserver by simply installing the new version, pointing it to the existing data directory during installation, choosing the same port and JRE as the previous version, and that’s it. But not this time. When I install 2.8.0 with the Windows installer, as I’ve always done, the Windows service is created etc. But the service will never listen to port 8080 (or any other port). A closer inspection of the Geoserver log file reveals, that the line indicating successful start of the port listener:

“Started SelectChannelConnector@anonymised.com:8080” (taken from 2.6.2 log file)

never appears in the log file. The server simply stops loading before reaching this point without any useful information about what’s wrong in the log file. I have of course added the Oracle NG JAR and Oracle JDBC driver as always.

I have played around with various memory related settings in wrapper.conf, like I did with 2.6.2, but nothing seems to make the server start correctly. I have also tried installing the server without the Windows service – ie. having to start the server with startup.bat and shutdown.bat. This doesn’t seem to work neither. The server still loads the configuration from the data directory, until it simply stops and never starts the listening interface. Up until that point, the log file from 2.8.0 looks exactly like the log file from 2.6.2 – ie all data stores etc. seems to load correctly, and I can see the connections to the database being established by running a netstat. But the server never listens on any port.

My wrapper.conf settings from 2.6.2 are here:

Java Additional Parameters

wrapper.java.additional.1=-Djetty.home=.
wrapper.java.additional.2=-DGEOSERVER_DATA_DIR=“%GEOSERVER_DATA_DIR%”
wrapper.java.additional.3=-XX:MaxPermSize=1024m
wrapper.java.additional.4=-Xmx3072M
wrapper.java.additional.5=-Xms3072m

Initial Java Heap Size (in MB)

wrapper.java.initmemory=512

Maximum Java Heap Size (in MB)

wrapper.java.maxmemory=512

As I at some point made the assumption, that this had something to do with some kind of increased memory usage in 2.8.0, I figured, that I could try making Geoserver 2.8.0 run under Weblogic 10.3.6, which we also have. Running it under Weblogic would make it possible for me to run it as a 64-bit Windows service.

But this fails also. I have deployed by unpacking the Geoserver WAR file and want to get Geoserver running with the default data stores in the first place. But even this fails. Geoserver crashes with this error in the log:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘webDispatcherMapping’ defined in URL [zip:C:/Oracle/Middleware/user_projects/domains/ClassicDomain/servers/AdminServer/tmp/_WL_user/geoserver/m2k7gc/war/WEB-INF/lib/gs-web-core-2.8.0.jar!/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘#{webDispatcherMappingSystem}’ is defined at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)

followed by a long stack trace.

I have not been able to find any useful information about this error. In general, the information on how to deploy Geoserver in Weblogic is extremely sparse – some of it dates back to Weblogic 8.1 and is not very useful.

  • Can somebody shed some light on what’s going on here?
  • What has changed so badly in 2.8.x compared to 2.6.x, that I no longer can load my configuration under Jetty with the existing data directory?
  • What does the error under Weblogic mean? Why can the bean “webDispatcherMappingSystem” not be loaded?

I just hope, that someone can help me get Geoserver 2.8.0 running either under Jetty + JRE7 x86 + Windows service or under Weblogic.

Thanks in advance,
Jacob Madsen


Full-scale, agent-less Infrastructure Monitoring from a single dashboard
Integrate with 40+ ManageEngine ITSM Solutions for complete visibility
Physical-Virtual-Cloud Infrastructure monitoring from one console
Real user monitoring with APM Insights and performance trend reports
Learn More http://pubads.g.doubleclick.net/gampad/clk?id=247754911&iu=/4140


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users


Jody Garnett

Got something for you, a volunteer called Walter has found a problem “unwrapping” Oracle connections - I expect web logic wraps up Connections for lifecycle management so this may be part of what you are looking at? (I got to test with JBoss but not WebLogic when introducing that code).

Please let us know how you are going with Jukka’s suggestions.

···

On 7 October 2015 at 09:24, Jacob Overgaard Madsen <u2jacob@anonymised.com> wrote:

Hi list

I really hope, that I can get some help here, because I’m on the verge of giving up. I currently administer a production Geoserver instance, which currently runs Geoserver 2.6.2. The operating system is Windows 2008 R2 x64, and it’s installed with the Windows installer with the default Jetty, installed as a Windows service, and runs on JRE 1.7.0_71 x86. This server runs fine. The data is almost 100% based on Oracle Spatial data, where I use the Oracle NG connection. My setup is quite large – 6000 layers, 300 stores and 300 workspaces currently and growing.

But due to recent improvements in the new version 2.8.0 regarding Oracle connections, I need to update this server to the new 2.8.0. But every attempt I’ve made so far to do this has failed. I have always – so far – been able to upgrade Geoserver by simply installing the new version, pointing it to the existing data directory during installation, choosing the same port and JRE as the previous version, and that’s it. But not this time. When I install 2.8.0 with the Windows installer, as I’ve always done, the Windows service is created etc. But the service will never listen to port 8080 (or any other port). A closer inspection of the Geoserver log file reveals, that the line indicating successful start of the port listener:

“Started SelectChannelConnector@anonymised.com:8080” (taken from 2.6.2 log file)

never appears in the log file. The server simply stops loading before reaching this point without any useful information about what’s wrong in the log file. I have of course added the Oracle NG JAR and Oracle JDBC driver as always.

I have played around with various memory related settings in wrapper.conf, like I did with 2.6.2, but nothing seems to make the server start correctly. I have also tried installing the server without the Windows service – ie. having to start the server with startup.bat and shutdown.bat. This doesn’t seem to work neither. The server still loads the configuration from the data directory, until it simply stops and never starts the listening interface. Up until that point, the log file from 2.8.0 looks exactly like the log file from 2.6.2 – ie all data stores etc. seems to load correctly, and I can see the connections to the database being established by running a netstat. But the server never listens on any port.

My wrapper.conf settings from 2.6.2 are here:

Java Additional Parameters

wrapper.java.additional.1=-Djetty.home=.
wrapper.java.additional.2=-DGEOSERVER_DATA_DIR=“%GEOSERVER_DATA_DIR%”
wrapper.java.additional.3=-XX:MaxPermSize=1024m
wrapper.java.additional.4=-Xmx3072M
wrapper.java.additional.5=-Xms3072m

Initial Java Heap Size (in MB)

wrapper.java.initmemory=512

Maximum Java Heap Size (in MB)

wrapper.java.maxmemory=512

As I at some point made the assumption, that this had something to do with some kind of increased memory usage in 2.8.0, I figured, that I could try making Geoserver 2.8.0 run under Weblogic 10.3.6, which we also have. Running it under Weblogic would make it possible for me to run it as a 64-bit Windows service.

But this fails also. I have deployed by unpacking the Geoserver WAR file and want to get Geoserver running with the default data stores in the first place. But even this fails. Geoserver crashes with this error in the log:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘webDispatcherMapping’ defined in URL [zip:C:/Oracle/Middleware/user_projects/domains/ClassicDomain/servers/AdminServer/tmp/_WL_user/geoserver/m2k7gc/war/WEB-INF/lib/gs-web-core-2.8.0.jar!/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘#{webDispatcherMappingSystem}’ is defined at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)

followed by a long stack trace.

I have not been able to find any useful information about this error. In general, the information on how to deploy Geoserver in Weblogic is extremely sparse – some of it dates back to Weblogic 8.1 and is not very useful.

  • Can somebody shed some light on what’s going on here?
  • What has changed so badly in 2.8.x compared to 2.6.x, that I no longer can load my configuration under Jetty with the existing data directory?
  • What does the error under Weblogic mean? Why can the bean “webDispatcherMappingSystem” not be loaded?

I just hope, that someone can help me get Geoserver 2.8.0 running either under Jetty + JRE7 x86 + Windows service or under Weblogic.

Thanks in advance,
Jacob Madsen


Full-scale, agent-less Infrastructure Monitoring from a single dashboard
Integrate with 40+ ManageEngine ITSM Solutions for complete visibility
Physical-Virtual-Cloud Infrastructure monitoring from one console
Real user monitoring with APM Insights and performance trend reports
Learn More http://pubads.g.doubleclick.net/gampad/clk?id=247754911&iu=/4140


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users


Jody Garnett

On Fri, Oct 9, 2015 at 4:12 PM, Jody Garnett <jody.garnett@anonymised.com> wrote:

Got something for you, a volunteer called Walter has found a problem
"unwrapping" Oracle connections - I expect web logic wraps up Connections
for lifecycle management so this may be part of what you are looking at? (I
got to test with JBoss but not WebLogic when introducing that code).

Jody, everything, even GeoServer by itself, wraps connections, it's what
every connection pool does, even our internal DBCP.
The issue Water found happens if one also uses session startup/shudown
commands, normally used for impersonation

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------