A common requirement for enterprise applications is to be able to deploy into read-only partitions. This is so that no user can change any aspect of the deployed application without following a strict change procedure.
However - glassfish requires so many directories to be read/write that it becomes extremely difficult to deploy in this manner.
What is needed is a clear separation of "fixed" directories - that will never change once an application has been deployed - and "working" directories that contain dynamic data (session information / unpacked ear files / whatever )
Currently glassfish has a complete mis mash.
hence its crap.
Friday, 7 September 2007
hosted on collabnet
this is a mini piece of crap - but seriously CollabNet - the "enterprise" project hosting company.
everything is super secure ssl - just what you need to browse some turgid java shite.
good job its all running on ZX Spectrums too - just to enhance that browsing experience.
perhaps those chaps at collabnet could take a look at http://www.foundrynet.com/products/app-switch/10g-systems/si-gtc-10gx2p.html to speed some of that crap up...
also - top class support for the enterprise - by using CVS (an outdated and cobbled together bunch of shitey shell scripts reimplemented in C) - you completely guarantee that nobody in an enterprise organisation will be able to download your code - as they are behind a web proxy - which CVS doesn't support. good technology choice.
Next: ProcessLauncher (again)....
everything is super secure ssl - just what you need to browse some turgid java shite.
good job its all running on ZX Spectrums too - just to enhance that browsing experience.
perhaps those chaps at collabnet could take a look at http://www.foundrynet.com/products/app-switch/10g-systems/si-gtc-10gx2p.html to speed some of that crap up...
also - top class support for the enterprise - by using CVS (an outdated and cobbled together bunch of shitey shell scripts reimplemented in C) - you completely guarantee that nobody in an enterprise organisation will be able to download your code - as they are behind a web proxy - which CVS doesn't support. good technology choice.
Next: ProcessLauncher (again)....
Thursday, 6 September 2007
ProcessLauncher
just what is it?
it reads and parses config/asenv.sh? to figure out what to put in a command line?
have you seen the code?
it reads and parses config/asenv.sh? to figure out what to put in a command line?
have you seen the code?
config directory needs to be writable!
or at least you need to create some writable files in it:
domain-registry
admsn
secure.seed
derby.log
admch
all live in the "config" directory - despite the fact that they are dynamic files that need to be updated each time the server starts.
sweet.
if the developers of glassfish knew anything about SOX or enterprise deployment they might figure out that having writable config directories is NOT THAT GREAT.
domain-registry
admsn
secure.seed
derby.log
admch
all live in the "config" directory - despite the fact that they are dynamic files that need to be updated each time the server starts.
sweet.
if the developers of glassfish knew anything about SOX or enterprise deployment they might figure out that having writable config directories is NOT THAT GREAT.
startserv doesn't
you've downloaded the latest version. want to start it? don't want to use asadmin? (find out why in a later post)
try the "startserv" command.
pity it doesn't work.
it has the -Dcom.sun.aas.promptForIdentity=true flag set, which means that is should prompt you for its login password. But it will only do that if you're redirecting from a file anyway.
So here is startserv in all its glory:
$ domains/itscrap/bin/startserv
erm thats it - it waits for ever!
Now lets try 'unattended mode'
$ cat /tmp/shit | domains/itscrap/bin/startserv
Redirecting output to /someplace/logs/server.log
Enter Admin User:
Enter Admin Password:
Enter Master Password:
Enter Other Password Information (or ctrl-D or ctrl-Z):
$
Great- prompt when not needed!
Lets take a look at ProcessLauncher.java (line 369)
// See is there is input that needs to be sent to the process
if (System.getProperty(PROPMPT_FOR_IDENTITY_SYSTEM_PROPERTY) != null && action.equals(LAUNCHER_START_ACTION)) {
sendInputToProcessInput(System.in, process);
}
Brilliant! - so even if we set PROPMPT_FOR_IDENTITY_SYSTEM_PROPERTY (sic) to false it still will so the wrong thing.
try the "startserv" command.
pity it doesn't work.
it has the -Dcom.sun.aas.promptForIdentity=true flag set, which means that is should prompt you for its login password. But it will only do that if you're redirecting from a file anyway.
So here is startserv in all its glory:
$ domains/itscrap/bin/startserv
erm thats it - it waits for ever!
Now lets try 'unattended mode'
$ cat /tmp/shit | domains/itscrap/bin/startserv
Redirecting output to /someplace/logs/server.log
Enter Admin User:
Enter Admin Password:
Enter Master Password:
Enter Other Password Information (or ctrl-D or ctrl-Z):
$
Great- prompt when not needed!
Lets take a look at ProcessLauncher.java (line 369)
// See is there is input that needs to be sent to the process
if (System.getProperty(PROPMPT_FOR_IDENTITY_SYSTEM_PROPERTY) != null && action.equals(LAUNCHER_START_ACTION)) {
sendInputToProcessInput(System.in, process);
}
Brilliant! - so even if we set PROPMPT_FOR_IDENTITY_SYSTEM_PROPERTY (sic) to false it still will so the wrong thing.
Subscribe to:
Posts (Atom)