admin@glassfish.java.net

Re: Item for next Tuedays's iTeam Meeting

From: Byron Nevins <byron.nevins_at_oracle.com>
Date: Thu, 15 Apr 2010 10:44:09 -0700

Oops. I just noticed that what you are doing is this:
@Inject(name="default-instance-name")


-- I'll try it out. Ignore the huge email below!


On 4/15/2010 10:39 AM, Byron Nevins wrote:
>
> On 4/15/2010 9:33 AM, Jerome Dochez wrote:
>>
>> there is already that mechanism in place.
>>
>> On startup the startup code determines which server and config are
>> current for this instance and stores those configuration with a
>> specific registration name in the habitat
>> (ServerEnvironment.DEFAULT_INSTANCE_NAME).
> Unless there is some new Java rule -- that is impossible! Any String
> declared in an interface is automatically final and public. It can
> not be changed from the default value which is:
> String DEFAULT_INSTANCE_NAME = "default-instance-name";
>
> I searched through all of V3 code with Treegrep and there is no code
> that tries to change that value (below). All of the code that uses
> that constant is getting the garbage string above.
>
> To make sure there isn't some btrace-style class rewriting or
> something going on, as a final test I printed the value of
> DEFAULT_INSTANCE_NAME at runtime from a temporarily modified uptime
> command. It printed: "default-instance-name"
>
> My guess -- the original plan was to add the String to
> ServerEnvironmentImpl rather than ServerEnvironment
>
> =============================================================================
>
>
> What I did a couple days ago is introduce getServerName() to the
> interface. Currently it returns "server". After I change the 60+
> files to use it -- I will have it start returning the real server name.
>
> =============================================================================
>
>
> C:\gf\v3>treegrep DEFAULT_INSTANCE_NAME | tee foo
>
> C:\gf\v3>java com.elf.io.TreeGrep DEFAULT_INSTANCE_NAME
> C:\gf\v3\admin\config-api\src\main\java\org\glassfish\config\support\DomainXml.java[120]:
>
> Server.class.getName(),
> ServerEnvironment.DEFAULT_INSTANCE_NAME);
> C:\gf\v3\admin\config-api\src\main\java\org\glassfish\config\support\DomainXml.java[123]:
>
> Config.class.getName(),
> ServerEnvironment.DEFAULT_INSTANCE_NAME);
> C:\gf\v3\admin\rest\src\main\java\org\glassfish\admin\rest\RestService.java[111]:
>
> * @Inject(name= ServerEnvironment.DEFAULT_INSTANCE_NAME)
> C:\gf\v3\admin\rest\target\classes\org\glassfish\admin\rest\RestService.java[111]:
>
> * @Inject(name= ServerEnvironment.DEFAULT_INSTANCE_NAME)
> C:\gf\v3\admin\server-mgmt\src\main\java\com\sun\enterprise\admin\servermgmt\pe\PEDomainsManager.java[576]:
>
> return PEFileLayout.DEFAULT_INSTANCE_NAME;
> C:\gf\v3\admin\server-mgmt\src\main\java\com\sun\enterprise\admin\servermgmt\pe\PEDomainXmlTokens.java[90]:
>
> instanceName = PEFileLayout.DEFAULT_INSTANCE_NAME;
> C:\gf\v3\admin\server-mgmt\src\main\java\com\sun\enterprise\admin\servermgmt\pe\PEFileLayout.java[57]:
>
> public static final String DEFAULT_INSTANCE_NAME =
> C:\gf\v3\admin\server-mgmt\src\main\java\com\sun\enterprise\admin\servermgmt\pe\PEScriptsTokens.java[78]:
>
> tv = new TokenValue(SERVER_NAME,
> PEFileLayout.DEFAULT_INSTANCE_NAME);
> C:\gf\v3\common\glassfish-api\src\main\java\org\glassfish\api\admin\ServerEnvironment.java[60]:
>
> String DEFAULT_INSTANCE_NAME = "default-instance-name";
> C:\gf\v3\core\kernel\src\main\java\com\sun\enterprise\v3\server\ApplicationLifecycle.java[126]:
>
> @Inject(name= ServerEnvironment.DEFAULT_INSTANCE_NAME)
> C:\gf\v3\core\kernel\src\main\java\com\sun\enterprise\v3\server\ApplicationLoaderService.java[125]:
>
> @Inject(name= ServerEnvironment.DEFAULT_INSTANCE_NAME)
> C:\gf\v3\core\kernel\src\main\java\com\sun\enterprise\v3\server\SystemTasks.java[82]:
>
> @Inject(name= ServerEnvironment.DEFAULT_INSTANCE_NAME)
> C:\gf\v3\core\kernel\src\main\java\com\sun\enterprise\v3\server\UpgradeStartup.java[96]:
>
> @Inject(name= ServerEnvironment.DEFAULT_INSTANCE_NAME)
> C:\gf\v3\core\kernel\src\main\java\org\glassfish\kernel\config\DefaultConfigParser.java[71]:
>
> @Inject(name= ServerEnvironment.DEFAULT_INSTANCE_NAME)
> C:\gf\v3\core\kernel\src\test\java\org\glassfish\tests\kernel\
> ment\EventsTest.java[117]:
> Server.class.getName(),
> ServerEnvironment.DEFAULT_INSTANCE_NAME);
> C:\gf\v3\deployment\admin\src\main\java\org\glassfish\deployment\admin\DisableCommand.java[86]:
>
> @Inject(name= ServerEnvironment.DEFAULT_INSTANCE_NAME)
> C:\gf\v3\deployment\admin\src\main\java\org\glassfish\deployment\admin\EnableCommand.java[95]:
>
> @Inject(name= ServerEnvironment.DEFAULT_INSTANCE_NAME)
> C:\gf\v3\ejb\ejb-container\src\main\java\com\sun\ejb\base\sfsb\util\EJBServerConfigLookup.java[100]:
>
> @Inject(name=ServerEnvironment.DEFAULT_INSTANCE_NAME)
> C:\gf\v3\ejb\ejb-container\src\main\java\org\glassfish\ejb\embedded\EjbBuilder.java[66]:
>
> @Inject(name= ServerEnvironment.DEFAULT_INSTANCE_NAME)
> C:\gf\v3\tests\amx\src\org\glassfish\admin\amxtest\AMXTestBase.java[557]:
> private static final String DEFAULT_INSTANCE_NAME = "test";
> C:\gf\v3\tests\amx\src\org\glassfish\admin\amxtest\AMXTestBase.java[564]:
> name = DEFAULT_INSTANCE_NAME;
> C:\gf\v3\tests\amx\src\org\glassfish\admin\amxtest\AMXTestBase.java[566]:
> name = qualifier + "." + DEFAULT_INSTANCE_NAME;
> C:\gf\v3\web\admin\src\main\java\org\glassfish\web\admin\cli\DeleteVirtualServer.java[87]:
>
> @Inject(name=ServerEnvironment.DEFAULT_INSTANCE_NAME)
> C:\gf\v3\web\jspcaching-connector\src\main\java\org\glassfish\jspcaching\integration\GlassFishTldProvider.java[113]:
>
> Config.class, ServerEnvironment.DEFAULT_INSTANCE_NAME);
> C:\gf\v3\web\web-glue\src\main\java\com\sun\enterprise\web\connector\extension\GrizzlyConfig.java[142]:
>
> Config cfg = habitat.getComponent(Config.class,
> ServerEnvironment.DEFAULT_INSTANCE_NAME );
> C:\gf\v3\webservices\jsr109-impl\src\main\java\com\sun\enterprise\webservice\WsTxUtils.java[111]:
>
> Config config =
> Globals.getDefaultHabitat().getComponent(Config.class,
> ServerEnvironment.DEFAULT_INSTANCE_NAME);
> C:\gf\v3\webservices\jsr109-impl\src\main\java\org\glassfish\webservices\WebServiceContractImpl.java[90]:
>
> return habitat.getComponent(Config.class,
> ServerEnvironment.DEFAULT_INSTANCE_NAME);
> Time: 230360 msec
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: admin-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: admin-help_at_glassfish.dev.java.net
>

-- 
Byron Nevins  -  Oracle Corporation
Home: 650-359-1290
Cell: 650-784-4123
Sierra: 209-295-2188