Hi Lars,
you've got it the wrong way 'round. The syntax is:
<participant param="someoptionalvalue">com.pakkage.your.Participant</
participant>
you can leave the param attribute out.
You an either extends BlockingParticipant or implement Participant,
RIFE should properly wrap the latter for the use with the standard
BlockingRepository implementation. You can find examples here:
http://rifers.org:8088/viewrep/rifers/rife/trunk/src/framework/com/
uwyn/rife/rep/participants
Best regards,
Geert
Thanks for your answer. But I have an additional question.
I like your alternative with the BlockingParticipant.
Could you tell me more about the implementation of this.
I added a new participant before the site file in the
participants.xml:
<!-- create the database structure -->
<participant param="com.acrolinx.portal.generic.Setup"
blocking="true">CreateDatabaseStructureParticipant</participant>
Must the class that is given in 'param' be an implementation of the
Participant interface?
Do you have a sample implementation for me?
What's the function of the value? e.g.:
'CreateDatabaseStructureParticipant'
Cheers,
Lars
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Emmanuel Okyere
Sent: 19 December 2005 23:12
To: RIFE users list : questions, bug reports and suggestions.
Subject: Re: [Rife-users] run java code directly after
starting the web server
Look at the ~.engine.ElementDeployer class. A typical
implementation (this an earlier version of something I had
for my Account element) looks like the one i've pasted below.
Alternatively, you could create a BlockingParticipant (maybe called
Setup) and put all the setup-specific code there, and add it
to the repository configuration.
hth,
-- eokyere
public static class Deployer extends ElementDeployer {
public void deploy() throws EngineException {
Datasource ds = (Datasource)
getElementInfo().getProperty(DATASOURCE);
try {
DatabaseContentFactory.getInstance(ds).install();
} catch (InstallContentErrorException e) {
logger.warning(ExceptionUtils.getExceptionStackTraceMessages(e));
}
ContentQueryManager<Account> accounts =
new ContentQueryManager<Account>(ds, Account.class);
try {
accounts.install();
} catch (DatabaseException e) {
logger.warning(ExceptionUtils.getExceptionStackTraceMessages(e));
}
try {
//DatabaseUsersFactory.getInstance(ds).install();
DatabaseUsers users =
DatabaseUsersFactory.getInstance(ds);
users.install();
users.addRole("admin");
users.addRole("user");
DatabaseSessionsFactory.getInstance(ds).install();
//DatabaseSessionsFactory.getInstance(ds).
logger.info("---------- user
tbls created ---------- ");
} catch (DatabaseException e) {
logger.warning(ExceptionUtils.getExceptionStackTraceMessag
es(e));
} catch (SessionManagerException e) {
logger.warning(ExceptionUtils.getExceptionStackTraceMessag
es(e));
}
}
private Logger logger =
Logger.getLogger(Deployer.class.getPackage().getName());
}
On 12/19/05, Lars Grupe <[EMAIL PROTECTED]> wrote:
Hi,
I would like to know if I can run java code directly after starting
the web application. I would like to install the users
table and the
sessions table in the database, directly after starting the web
application the first time. Earlier I have no simple access to the
config to get the datasource. And my arrival element inherits an
authentication element.
If there is no easy way to do it, I will generate the
database earlier
and copy them into my project. But maybe there is an easy way, that
you can tell me?
Cheers,
Lars
_______________________________________________
Rife-users mailing list
[email protected] http://www.uwyn.com/mailman/listinfo/rife-users
_______________________________________________
Rife-users mailing list
[email protected] http://www.uwyn.com/mailman/listinfo/rife-users
_______________________________________________
Rife-users mailing list
[email protected]
http://www.uwyn.com/mailman/listinfo/rife-users
--
Geert Bevin Uwyn bvba
"Use what you need" Avenue de Scailmont 34
http://www.uwyn.com 7170 Manage, Belgium
gbevin[remove] at uwyn dot com Tel +32 64 84 80 03
PGP Fingerprint : 4E21 6399 CD9E A384 6619 719A C8F4 D40D 309F D6A9
Public PGP key : available at servers pgp.mit.edu, wwwkeys.pgp.net
_______________________________________________
Rife-users mailing list
[email protected]
http://www.uwyn.com/mailman/listinfo/rife-users