Hi Chris and thanks for your quick response!
I agree with you, that placing library dependency outside the webapp/${app}
folder or ${app}.WAR potentially leads to troubles with versions among
different web apps, but ...
Roller would just not start if I don't follow the installation guide advise
and don't put the libraries in the common/lib or any other place accessible
by the bootstrap process of the web server.
I certainly want to avoid this, but still didn't find/receive any hint how
to do it if only possible.
There was some forum note, that it is just like that, but no in depth
explanation found yet.
I believe I could do some bootstrap debugging and find the answer my self,
but my time is ind of limited right now, so I decided to ask the community.
Regards,
Pavlin
Christopher Dodunski-4 wrote:
>
> Hi Pavlin,
>
> Generally speaking, placing dependencies willy nilly in tomcat/lib is not
> a good idea. These libraries are shared by other Tomcat applications, and
> by globally introducing/updating a library you run the risk of upsetting
> other Tomcat applications. It also makes upgrading Tomcat more involved.
>
> The recommended course is to place dependencies inside the application's
> WEB-INF/lib directory. Then package it into a WAR, and deploy.
> Personally, I have placed roller-custom.properties outside both Tomcat and
> Roller, creating a symbolic link inside tomcat/lib.
>
> Hope this helps.
>
> Regards,
>
> Chris Dodunski.
>
>
>> Hi all,
>>
>> I'm quite new to Roller too (less than 12 hours), so may by I'm missing
>> some
>> points.
>>
>> I had similar problems with the installation of Roller, but found that
>> simply following the installation guide strictly makes it work. Namely
>> you
>> really have to put the JDBC, Mail and Activation (JAF) jars in a place
>> where
>> Tomcat can find them (for example as the guide guides - in
>> ${TOMCAT_HOME}/common/lib).
>>
>> An other problem is that you can not do this if you don't have admin
>> rights
>> on the server environment where your web server runs.
>>
>> So my questions are:
>> - (JUST CURIOUS) Why Roller needs to put anything (libs, properties
>> etc.)
>> outside it's WAR in order to start context?
>> - (REQUIRED!) How can we overcome that restriction?
>>
>> Really appreciate a hint how to install Roller as simple war. Otherwise
>> it
>> is no-go for me :-(.
>>
>> Anyone?
>>
>> Pavlin
>>
>>
>>
>> nanren888 wrote:
>>>
>>> Dave, Chris, many thanks.
>>>
>>> (1) Had not seen the distinction between JNDI & whatever the other is
>>> called at this point. Have long forgotten what little I knew of this.
>>> Seems exactly right. Had taken then message in the log about about
>>> rollerdb to be from the file. A default, I now assume. Should have
>>> changed
>>> it to test it.
>>>
>>> (2) Where to put roller-custom.properties? Had put it separately, as
>>> suggested by a comment online, when searching, specifically saying don't
>>> put it in tomcat directories, ...
>>> Had named it in the tomcat deploy "XML Configuration file URL: " &
>>> assumed that meant it could then find it, having been handed it.
>>>
>>> (3) Tomcat classpath? At this point, I have no clue which directories
>>> might be included in that.
>>>
>>> The guide says
>>> STEP 3: Create a roller-custom.properties file in your Servlet
>>> container's
>>> classpath, e.g. on Tomcat you'd put it in common/classes.
>>> But, of course, there is no "common" directory & there is no "classes"
>>> directory.
>>>
>>> Any chance you could just nominate a good place to put it? Standard,
>>> follow-the-guide install. (pathetic & pleadingly) could the guide just
>>> say
>>> where to put it, rather than where to not put it?
>>>
>>> I've put it in /lib.
>>> If that's a bad idea, please nominate a better place.
>>>
>>> But, again, many thanks. On to the next error, to do with
>>> authenticating
>>> that user on that database, so seems to be finding it now, should be
>>> easier to sort MySQL out.
>>>
>>>
>>>
>>>
>>> Christopher Dodunski-4 wrote:
>>>>
>>>> Hi,
>>>>
>>>> The "mail.hostName=send.xtra.co.nz" directive tells me I am
>>>> communicating
>>>> with a fellow Kiwi. I see Dave has since replied, suggesting that your
>>>> roller-custom.properties file may not be available to Roller - not in
>>>> the
>>>> Tomcat classpath. If you have since sorted it, great. If not, feel
>>>> free
>>>> to TXT me on 027 535 3722 for my landline - happy to provide some
>>>> verbal
>>>> support.
>>>>
>>>> The case study below outlines my particular configuration.
>>>>
>>>> http://assets.optomus.com/documents/Roller%205%20-%20Multi-domain%20Case%20Study.pdf
>>>>
>>>> Regards,
>>>>
>>>> Chris Dodunski.
>>>> (New Plymouth, NZ)
>>>>
>>>>
>>>>> This has got to be something simple. Can someone tell me the most
>>>>> likely
>>>>> causes?
>>>>>
>>>>> new J2EE install
>>>>> new MySQL install (mysql-essential-5.1.52-win32.msi)
>>>>> new connector (mysql-connector-java-5.1.13-bin.jar in tomcat/lib)
>>>>> new mail.jar ( in tomcat/lib from javamail-1.4.3.zip)
>>>>> new activation.jar (in tomcat/lib from jaf-1_0_2-upd2.zip)
>>>>> new tomcat install (apache-tomcat-6.0.29-windows-x86.zip)
>>>>> All exactly to guides.
>>>>>
>>>>> New to this, lost & frustrated.
>>>>>
>>>>>>>If you are posting a question, please try search first. Your question
>>>>>>> may
>>>>> have already been answered.
>>>>> Entirely agree, but, searched this error, here & web & get 1,000s of
>>>>> hits,
>>>>> seemingly no clear pattern to the fixes offered.
>>>>> Many (old?) install suggestions/guides about endless config files,
>>>>> most
>>>>> that
>>>>> simply do not talley with the install I see. References to putting
>>>>> contexts
>>>>> in config files & such, now seems to be a separate file? Many
>>>>> questions
>>>>> about complicated configurations; I just want the first vanila
>>>>> installation.
>>>>>
>>>>> Lost with no idea of a coherent direction!
>>>>>
>>>>> tomcat clearly running.
>>>>> examples run
>>>>> admin runs
>>>>> deploy does not complain about roller
>>>>> reload & undeploy do not complain.
>>>>>
>>>>> created rollerdb as per guide, granted rolleruser for both '%' &
>>>>> localhost
>>>>> as per guide.
>>>>> mysql worbench can see mysql by TCP & pipe. can see rollerdb &
>>>>> rolleruser
>>>>> Seems to confirm mysql is on 3306
>>>>> mysql seems to say it is on utf8
>>>>>
>>>>>
>>>>> roller creates log as included below.
>>>>>
>>>>> used roller-custom.properties placed separately as suggested
>>>>> elsewhere.
>>>>>
>>>>> installation.type=auto
>>>>> database.configurationType=jdbc
>>>>> database.jdbc.driverClass=com.mysql.jdbc.Driver
>>>>> database.jdbc.connectionURL=jdbc:mysql://localhost:3306/rollerdb
>>>>> database.jdbc.username=rolleruser
>>>>> database.jdbc.password=rollerPassword
>>>>> mail.hostName=send.xtra.co.nz
>>>>> mail.username=<our account name here>
>>>>> mail.password=<our password here>
>>>>>
>>>>> Specific questions, from install
>>>>> Have seen reference to roller-custom.properties as an xml config file,
>>>>> but
>>>>> it is not xml: Just as here: plain text. Can someone confirm that it
>>>>> is
>>>>> just
>>>>> text as here?
>>>>>
>>>>>
>>>>> if a ask for localhost:8080/roller/roller-ui it redirects to
>>>>> localhost:8080/roller/roller-ui/login.rol, gives a login page & of
>>>>> course,
>>>>> fails with
>>>>>
>>>>> Unexpected Exception
>>>>> Status Code 500
>>>>> Message Roller Weblogger has not been bootstrapped yet
>>>>> Type
>>>>> Exception Roller has encountered and logged an unexpected
>>>>> exception.
>>>>>
>>>>> <Not been bootstrapped>? Search of the install & guides gave me zero
>>>>> hits
>>>>> on
>>>>> bootstrapped.
>>>>>
>>>>>
>>>>> My guess, lots see the same problem. Anyone let me in on the secret 3
>>>>> most
>>>>> likely things?
>>>>>
>>>>> Next steps are to search for an example jsp or two that just uses
>>>>> mysql
>>>>> so
>>>>> I
>>>>> can test connection separately to roller. Or maybe some stand-alone
>>>>> java
>>>>> example of jdbc, is that the name?
>>>>>
>>>>> After that it is back to randomly trying the thousand or so random
>>>>> configuration tips on the web, or maybe just set the machine to format
>>>>> &
>>>>> go
>>>>> watch TV?
>>>>>
>>>>> Lost, tired, bewildered.
>>>>> Any help much appreciated.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Status Code 500
>>>>> Message An exception occurred processing JSP page /index.jsp at line
>>>>> 31
>>>>> 28:
>>>>> } else { 29: // dispatch to setup page 30: RequestDispatcher setuppage
>>>>> =
>>>>> request.getRequestDispatcher("/roller-ui/setup.rol"); 31:
>>>>> setuppage.forward(request, response); 32: } 33: 34: %> Stacktrace:
>>>>> Type
>>>>> Exception Roller has encountered and logged an unexpected
>>>>> exception.
>>>>>
>>>>> roller.log starts
>>>>>
>>>>> INFO 2010-11-21 07:58:48,234 DatabaseProvider:successMessage -
>>>>> SUCCESS:
>>>>> Got
>>>>> parameters. Using configuration type JNDI_NAME
>>>>> INFO 2010-11-21 07:58:48,234 DatabaseProvider:successMessage - --
>>>>> Using
>>>>> JNDI datasource name: java:comp/env/jdbc/rollerdb
>>>>> INFO 2010-11-21 07:58:48,234 DatabaseProvider:successMessage -
>>>>> SUCCESS:
>>>>> located JNDI DataSource [java:comp/env/jdbc/rollerdb]
>>>>> ERROR 2010-11-21 07:58:48,250 DatabaseProvider:errorMessage - ERROR:
>>>>> unable
>>>>> to obtain database connection. Likely problem: bad connection
>>>>> parameters
>>>>> or
>>>>> database unavailable.
>>>>> FATAL 2010-11-21 07:58:48,265 RollerContext:contextInitialized -
>>>>> Roller
>>>>> Weblogger startup failed during app preparation
>>>>> org.apache.roller.weblogger.business.startup.StartupException: ERROR:
>>>>> unable
>>>>> to obtain database connection. Likely problem: bad connection
>>>>> parameters
>>>>> or
>>>>> database unavailable.
>>>>> at
>>>>> org.apache.roller.weblogger.business.DatabaseProvider.<init>(DatabaseProvider.java:148)
>>>>> at
>>>>> org.apache.roller.weblogger.business.startup.WebloggerStartup.prepare(WebloggerStartup.java:171)
>>>>> at
>>>>> org.apache.roller.weblogger.ui.core.RollerContext.contextInitialized(RollerContext.java:138)
>>>>> at
>>>>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
>>>>> at
>>>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
>>>>> at
>>>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>>>>> at
>>>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
>>>>> at
>>>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
>>>>> at
>>>>> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
>>>>> at
>>>>> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
>>>>> at
>>>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
>>>>> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
>>>>> at
>>>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
>>>>> at
>>>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>>>>> at
>>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>>>>> at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
>>>>> at
>>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>>>>> at
>>>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
>>>>> at
>>>>> org.apache.catalina.core.StandardService.start(StandardService.java:519)
>>>>> at
>>>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>>>>> at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>>> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
>>>>> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
>>>>> --- ROOT CAUSE ---
>>>>> org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC
>>>>> driver
>>>>> of
>>>>> class '' for connect URL 'null'
>>>>> at
>>>>> org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://old.nabble.com/yet-another-install-problem-%3C---ERROR%3A-unable-to-obtain-database-connection.-Likely-problem%3A-bad-connection-parameters-or-database-unavailable.-tp30268237s12275p30268237.html
>>>>> Sent from the Roller - User mailing list archive at Nabble.com.
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://old.nabble.com/yet-another-install-problem-%3C---ERROR%3A-unable-to-obtain-database-connection.-Likely-problem%3A-bad-connection-parameters-or-database-unavailable.-tp30268237s12275p30276977.html
>> Sent from the Roller - User mailing list archive at Nabble.com.
>>
>
>
>
>
--
View this message in context:
http://old.nabble.com/yet-another-install-problem-%3C---ERROR%3A-unable-to-obtain-database-connection.-Likely-problem%3A-bad-connection-parameters-or-database-unavailable.-tp30268237s12275p30277970.html
Sent from the Roller - User mailing list archive at Nabble.com.