Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 0.6-RC1
-
Fix Version/s: 1.0-RC1
-
Component/s: Project infrastructure
-
Labels:None
Description
(From my email to grails dev mailing list...)
Hi Grails Devs,
For a project I am working on, I am using Grails 0.6-RC1, and
embedding components (jars, configs etc) from another pre-existing
project, unfortunately these components expects JNDI support from the
app server. I posted an email last week to Grails-User for help but
receives no advice, so I took the matter into my own hands ![]()
I made the following modification to Grails to enable JNDI in run-app:
== mod to GRAILS_HOME/scripts/Init.groovy ==
Line 41: enableJndi = System.getProperty('enable.jndi') == "true" ?
true : false
== mod to GRAILS_HOME/scripts/RunApp.groovy ==
/* within the import section */
import org.mortbay.jetty.plus.naming.*
import javax.naming.*
...
/*
within task configureHttpServer section right after:
webContext = new WebAppContext("${basedir}/web-app", "/${grailsAppName}")
*/
if (enableJndi) { def confClassList = ["org.mortbay.jetty.webapp.WebInfConfiguration", "org.mortbay.jetty.plus.webapp.EnvConfiguration", "org.mortbay.jetty.plus.webapp.Configuration", "org.mortbay.jetty.webapp.JettyWebXmlConfiguration", "org.mortbay.jetty.webapp.TagLibConfiguration"] webContext.setConfigurationClasses((String[])confClassList ) }
== additons to GRAILS_HOME/lib ==
jetty-naming-6.1.4.jar
jetty-plus-6.1.4.jar
With the above modifications, when I do this from command line:
MyProjectRoot/ > grails -Denable.jndi=true run-app
the embedded jetty instance will have JNDI support built-in.
If you like this, I can send a patch...
- Brian
Attachments
-
- grails-jndi.patch
- 30/Aug/07 12:50 PM
- 4 kB
- Brian Guan
-
$i18n.getText("admin.common.words.hide")
- jetty-naming-6.1.4.jar
- 30/Aug/07 12:50 PM
- 27 kB
- Brian Guan
-
- META-INF/MANIFEST.MF 0.2 kB
- jndi.properties 0.1 kB
- org/.../MailSessionReference$PasswordAuthenticator.class 2 kB
- org/mortbay/.../MailSessionReference.class 4 kB
- org/.../InitialContextFactory$DefaultParser.class 1 kB
- org/mortbay/.../InitialContextFactory.class 1 kB
- org/.../localContextRoot$LocalNameParser.class 1 kB
- org/mortbay/.../local/localContextRoot.class 6 kB
- org/mortbay/naming/NamingContext$1.class 0.6 kB
- org/.../NamingContext$NameEnumeration.class 1 kB
- org/.../NamingContext$BindingEnumeration.class 1 kB
- org/mortbay/naming/NamingContext.class 15 kB
- org/mortbay/.../java/javaNameParser.class 1 kB
- org/mortbay/.../javaRootURLContext.class 7 kB
- org/mortbay/.../javaURLContextFactory.class 2 kB
- org/mortbay/naming/ContextFactory.class 4 kB
- org/mortbay/naming/NamingUtil.class 3 kB
- META-INF/maven/.../jetty-naming/pom.xml 3 kB
- META-INF/maven/.../pom.properties 0.1 kB
-
$i18n.getText("admin.common.words.hide")
- jetty-plus-6.1.4.jar
- 30/Aug/07 12:50 PM
- 56 kB
- Brian Guan
-
- META-INF/MANIFEST.MF 0.2 kB
- org/mortbay/.../RunAsCollection.class 2 kB
- org/mortbay/jetty/.../annotation/RunAs.class 1 kB
- org/.../LifeCycleCallbackCollection.class 3 kB
- org/mortbay/.../LifeCycleCallback.class 3 kB
- org/mortbay/.../InjectionCollection.class 3 kB
- org/mortbay/.../annotation/Injection.class 5 kB
- org/mortbay/.../PostConstructCallback.class 2 kB
- org/mortbay/.../PreDestroyCallback.class 2 kB
- org/.../AbstractLoginModule$JAASUserInfo.class 3 kB
- org/mortbay/.../AbstractLoginModule.class 5 kB
- org/mortbay/jetty/.../spi/UserInfo.class 1 kB
- org/mortbay/.../spi/JDBCLoginModule.class 3 kB
- org/.../AbstractDatabaseLoginModule.class 3 kB
- org/.../PropertyFileLoginModule.class 4 kB
- org/mortbay/.../DataSourceLoginModule.class 2 kB
- org/mortbay/.../DefaultCallbackHandler.class 2 kB
- org/.../AbstractCallbackHandler.class 1 kB
- org/.../RequestParameterCallback.class 1.0 kB
- org/mortbay/.../ObjectCallback.class 0.7 kB
- org/.../JAASUserPrincipal$RoleStack.class 2 kB
- org/mortbay/.../jaas/JAASUserPrincipal.class 3 kB
- org/mortbay/.../jaas/JAASUserRealm.class 8 kB
- org/mortbay/.../jaas/RoleCheckPolicy.class 0.2 kB
- org/mortbay/jetty/.../jaas/JAASRole.class 0.6 kB
- org/mortbay/.../jaas/JAASPrincipal.class 0.9 kB
- org/mortbay/.../StrictRoleCheckPolicy.class 1 kB
- org/.../JAASGroup$1MembersEnumeration.class 0.9 kB
- org/mortbay/jetty/.../jaas/JAASGroup.class 2 kB
- org/mortbay/.../EnvConfiguration.class 5 kB
Activity
- All
- Comments
- Work Log
- History
- Activity
- Git Commits
Thanks Brian, we'll try include your patch in the next release. Good job
Attached patch file generated from Eclipse/subclipse.
However, since I am adding 2 additional jar files, patch file does not include them, and Ivy doesn't seem to be completely integrated into the env, so I am attaching the jar files explicitly.