Google App Engine Adventure

I finally published my website to google app engine. This website is highly experimental and serve as my playing ground for java technologies. The current website as of the time of writing this blog is mainly to experiment with reading RSS feed using ROME.

There are quite a number of tweaking that I need to do in order to make my website run.

1. Rome throw an error: JDOM is unable to create SAX Parser

ROME behave perfectly fine when I tested it in Apache Tomcat 6. Some Google App Engine require me to include xercesImpl-2.6.2.jar and xmlParserAPIs-2.6.2.jar into the /WEB-INF/lib in order for ROME to work.

2. Disable Quartz cronjob

I use Quartz to schedule a cron job in my website. The cron job causes the following error:

org.springframework.web.servlet.FrameworkServlet initServletBean: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.scheduling.quartz.SchedulerFactoryBean#0'
defined in ServletContext resource [/WEB-INF/springapp-servlet.xml]: Invocation of init method failed; nested exception is java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
....

Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)
	at java.security.AccessControlContext.checkPermission(AccessControlContext.java:355)
	at java.security.AccessController.checkPermission(AccessController.java:567)
	at java.lang.SecurityManager.checkPermission(Unknown Source)

3. Disable Last.FM API

I use Last.FM API to retrieve my playlist. I need to disable this feature because Last FM API create cache when it read our playlist and Google App Engine does not allow our application to write anything to the disk.

The website still has some errors that I never encounter when I deploy it in Tomcat 6. What about your experience with Google App Engine ?

Advertisements

About zainul franciscus

Hi, I am a software developer and tech blogger who is currently living in Wellington, New Zealand. I write stuff that I find interesting on
This entry was posted in java, programming, web development and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s