struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "M Nadzaruddin Kahar" <>
Subject Re: Message Resources From Database
Date Fri, 02 May 2003 13:16:05 GMT
The static method just didn't come across my mind yesterday. I am glad you
brought it up. Thank you so much. Now I can continue with my plan.

----- Original Message -----
From: "Kent SĂžlvsten Rasmussen" <>
To: "Struts Developers List" <>
Sent: Friday, May 02, 2003 8:47 PM
Subject: Re: Message Resources From Database

Have You considered the following idea?

1. Create a class with a static reference to a datasource (so it is
accessible from DatabaseMessageRessources).

2. Create a plugin fetching the datasource from the servlet context, and
setting the
aforementioned reference to this datasource.

M Nadzaruddin Kahar <> wrote:
> Hi.
> I found the thread with regards to creating message
> resources from a
> database. I couldn't get to the sample that James Mitchell
> has worked on.
> That's why I am posting this message. Another reason is that
> I got
> frustrated trying to find the proper message id for a
> particular message in
> archive list. I only used the msgId given
> in the URL. I
> guess it doesn't work that way because each time I sent a
> request to
> (xxx=msgId) I kept
> getting the wrong
> message.
> Anyway, I followed the struts documentation in trying to
> create a custom
> MessageResources from a database. According to the
> documentation, we need to
> subclass both MessageResources and MessageResourcesFactory.
> I did that and I
> named both of them DatabaseMessageResources and
> DatabaseMessageResourcesFactory respectively. However, later
> on I realized
> that method MessageResourcesFactory.createResources only
> accepts a string.
> Since every time a factory is created it's casted to
> MessageResourcesFactory, no matter what we do the subclass (
> add some
> methods to accept servlet context for example ) won't be
> seen. So all I
> could do was to play around with String config parameter. It
> was pretty much
> useless because I wanna make use the datasource created
> from
> struts-config.xml. Since the datasource is stored in the
> servlet context,
> and if I can't pass the servlet context to my
> DatabaseMessageResources, I
> couldn't do anything. Then I thought perhaps I could simply
> hard code the
> connection details within DatabaseMessageResources itself.
> This proved
> pointless because if I do it that way, I won't be using the
> connection pool
> since the connection pool is stored in the servlet context
> as well. So I am
> pretty much stuck.
> Later on I found out James Mitchell has implemented some
> sort of work around
> for this. So I am kind of curious as to how he managed to do
> it. I don't
> know why the design of MessageResources is pretty much
> limited in
> perspective. It only looks at retrieving the resources from
> properties
> files. It's not flexible at all. To be honest I am not a fan
> of storing
> resources in files. It's going to get cumbersome to maintain
> and besides
> it's difficult to enforce data security on them. If we put
> them in a
> database, it's a lot easier to establish their relationship
> with the rest of
> the data model of an application.
> The framework of a company that I have worked for used cache
> to store the
> resources. It puts it in the session and it's initialized by
> the controller
> servlet. I think someone mentioned about using cache as
> well, which I think
> is definitely a good idea. I don't know a whole lot about
> fulcrum but I must
> have stumbled upon some message in a forum or something that
> we can actually
> synchronize it with the current data in our database.
> So can someone tell me how to work around this problem
> please.
> Thanks.
> Naz
> ------------------------------------------------------------
> ---------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message