Thursday, 23 July 2009

Seam - Could not instantiate Seam component, Hibernate schema

While cleaning an resetting the development environment, I encountered a "Could not instantiate Seam component" exception when accessing the application.

To set the context, this is using Eclipse 3.4.2 (M20090211-1700) on Mac OS X. Running JBoss 4.2.3 GA, and Seam 2.1.2.

The existing application had been working correctly. However, the system threw the following exception:


12:21:55,923 INFO [STDOUT] Hibernate:
select
systcalend0_.scal_id as scal1_42_,
systcalend0_.scal_timestamp as scal2_42_,
systcalend0_.scal_last_updated_by as scal3_42_,
systcalend0_.scal_last_updated as scal4_42_,
systcalend0_.scal_name as scal5_42_
from
agency.agency.syst_calendar systcalend0_
order by
systcalend0_.scal_name
12:21:55,925 WARN [JDBCExceptionReporter] SQL Error: 1064, SQLState: 42000
12:21:55,925 ERROR [JDBCExceptionReporter] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.syst_calendar systcalend0_ order by systcalend0_.scal_name' at line 1
12:21:55,929 ERROR [STDERR] Jul 23, 2009 12:21:55 PM com.sun.facelets.FaceletViewHandler handleRenderException
SEVERE: Error Rendering View[/System/Jobs/ScheduleManager.xhtml]
org.jboss.seam.InstantiationException: Could not instantiate Seam component: scheduleManager
at org.jboss.seam.Component.newInstance(Component.java:2144)
...
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:629)
...
12:21:55,930 ERROR [STDERR]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
...
Caused by: org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
...
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.syst_calendar systcalend0_ order by systcalend0_.scal_name' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
12:21:55,976 INFO [STDOUT] initScheduler() called
12:21:55,978 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: null
12:21:55,978 ERROR [JDBCExceptionReporter] Transaction is not active: tx=TransactionImple <>; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImple <>)
...


The hibernate query is the key. Hibernate was pre-pending an extra schema name to the table. Instead of "agency.syst_calendar", it was trying to access "agency.agency.syst_calendar".

Turns out I'd ended up with the following line in src/main/META-INF/persistence.xml



Removing/commenting this fixed the problem immediately.

Wednesday, 22 July 2009

Core Processing System Vendors - US

A US-centric view of the key Life Insurance Administration system vendors:
  • CSC
  • StoneRiver - does not appear to have any business in Asia?
  • InsPro (was Atiam)
  • Accenture - trying to find an opportunity to localise the ALIP (formerly Navisys)
  • Oracle - AdminServer product
  • SunGuard
  • PilotFish
Interestingly CSC is really the only US vendor to make any significant headway in Asia. SunGuard has made some sales, although nowhere near the profile.

Saturday, 11 July 2009

Insurance and Innovation

This article asks whether Innovation in Insurance is an oxymoron.

It's very true that innovation tends to be limited within the insurance industry. Products are incremental improvements on competitors' products. New products are few and far between, and quickly become the subject of copying.

It's possible that trends like the rise of social media will drag insurance kicking and screaming into a more modern place. Not really innovation per se, rather just facing reality. A recent post on YouTube shows the impact of social media in the context of customer satisfaction - or in this case chronic dissatisfaction. The rapid spread of this case suggests that monitoring social media has progressed from being a nice-to-have and is now a must-have. While it is unlikely that insurance will experience events that have quite the same infamous results, it's something to be aware of and watch carefully.

Thursday, 2 July 2009

Open Source CRM

Here is a detailed review of 3 open source CRM systems available at the current time:
Possibly the biggest point to consider is the need for a good understanding of the organisation that is implementing the solution. All 3 of the CRM systems reviewed are flexible, and therefore complex. As such they tend to be unsuitable for organisations that do not have some level of IT infrastructure in place. Understanding and then configuring the screens, workflows, and other settings is a non-trivial task.

Wednesday, 1 July 2009

Internet Usage

Although a very small sample, this recent study (which updates a previous study) suggests that Internet usage is much more restricted than most would think.

In particular, while Facebook is highlighted as a family/friends networking tool (which implies attempts to seriously monetise it will fail), business networking and research is much less prevalent. The community of LinkedIn is probably a good example. It started off as a useful and interesting forum to connect with people, discuss problems/questions, and research industries/jobs/etc. However it's gone through a few phases, as the question forums increasingly became a place to advertise your service or product, and more recently the same has happened with many Groups.

Still, with all of these challenges, you might reasonably expect that more people would be involved. The study suggests that internet usage is still fairly restricted in terms of depth of exposure in the general population.