Insert Witty Irony Here

vince kraemer's Weblog


20090510 Sunday May 10, 2009

Shameless Plug

I had to go to the Seattle area yesterday.

I was flying on short notice, but was able to score a really cheap fare on Virgin America... About $100, round trip.

I got the usual e-mail reminder to confirm my reservation and seat assignment. I went to the site and noticed that I could upgrade to first for $50 for each segment.

I upgrade both flights...

It was worth it.

I also recommend that folks look at the Virgin America web site. I think it is very usable....

The ad for GoGo in-flight internet service was mighty cute, too. It has an animated Richard Branson. I was traveling computer-free, so I skipped it...

(2009-05-10 23:01:48.0) Permalink Comments [0]

20090504 Monday May 04, 2009

WebBeans, GlassFish v3 and NetBeans 6.7

A new jar appeared in the GlassFish v3 distro recently for WebBeans. Enterprise Java projects that target GlassFish v3 can start to use the APIs that are part of the jar.

You will need to use the new marker module or the command-line switch to enable the support for v3 in NetBeans 6.7.

(2009-05-04 00:00:01.0) Permalink Comments [1]

20090503 Sunday May 03, 2009

Using GlassFish v3 in NetBeans 6.7... now even easier

I have described a magic flag that allows folks to register GlassFish v3 builds in NetBeans 6.7.

Some folks have been using this flag and demonstrating the power of Java EE 6.

Others have asked for an easier way to activate the functionality. So, I got off my good intentions and implemented a marker module that lets the user activate the functionality.

The module is available in the 'Dev' update center, today.

After you install the plugin, 'GlassFish v3 Enabler', the IDE will restart and you will be able to work with v3 as I described earlier.

(2009-05-03 00:01:00.0) Permalink

20090501 Friday May 01, 2009

Debug usability improvement for v3 servers

Sometimes, it is easy to be blind to an obvious use-case.

In this case, I had gotten so 'trained' to Debug a project, that I completely forgotten about how hard it is to attach the debugger to the server when the user does a 'Start in Debug Mode'.

Luckily, someone made it clear and I was able to make the situation a bit better, by exposing a new Server property for servers based on the GlassFish v3 code.

The property, Address to use, starts off undefined. The first time you debug a project or start the server in debug mode, the port is selected, if you haven't defined it already. After the value is set, it remains constant unless you...

  • uncheck the 'Address to use' check box
  • change the value by hand.

While I was working on this, I discovered something that surprised me. If you start the JPDA debugger with a bogus address (when you are using the socket transport), the JVM and debugger will start. A random port is selected and you can proceed. I like interfaces that are forgiving and try to succeed where I have failed.

I was pretty excited about this at first, but soon realized that I could not leverage this 'forgiveness' in the IDE.

Oh, well.

(2009-05-01 12:39:53.0) Permalink

20090422 Wednesday April 22, 2009

SIP Application Development and 6.7

I recently tried to load the SIP Application development support modules into a recent 6.7 build and there were some modules that would not load. There is an issue tracker entry with the gory details for the curious.

The problem was easy to track down, so I have updated the SailFin build to create modules that can be loaded into 6.7.

To get the updated modules, you should follow these directions.

(2009-04-22 11:57:54.0) Permalink Comments [2]

20090412 Sunday April 12, 2009

Freedom gets faster

I switched to Google WiFi in Mountain View, CA as my ISP nearly two years ago. The speed was decent. The selling point for me was the fact that the upload and download speeds were comparable. Oh... and FREE did not hurt either.

I have been happy with it for nearly two years... AND THEN...

It started to go faster for downloads.

I am currently getting about 1900 Kb/s download and 950 Kb/s upload. The new upload speed is double what I had been averaging. The upload speed is about 30% faster, too.

(2009-04-12 13:49:46.0) Permalink Comments [1]

20090316 Monday March 16, 2009

Now Compatible! NetBeans and JDK 6 Update 12

We ran into an embarrassing spat of issues when JDK 6 Update 12 was released. Some sloppy coding practices that had not been causing issues with earlier JDK releases came up and bit us. Ouch!

A lot of folks got the wake-up call and scrambled to address the problems... and have helped roll a new release of NetBeans... 6.5.1. Once you download this new release, you should be able to use JDK 6 update 12 and NetBeans together.

(2009-03-16 10:01:53.0) Permalink Comments [5]

20090306 Friday March 06, 2009

Import Woes

I have seen a number of reports of this exception...

java.lang.IllegalStateException: Common server instance not found for [/opt/glassfish-v3-prelude-b28c/glassfish]deployer:gfv3:localhost:8080
        at org.netbeans.modules.glassfish.javaee.Hk2DeploymentManager.getServerInstance(Hk2DeploymentManager.java:476)
        at org.netbeans.modules.glassfish.javaee.Hk2StartServer.getCommonServerSupport(Hk2StartServer.java:106)
        at org.netbeans.modules.glassfish.javaee.Hk2StartServer.isRunning(Hk2StartServer.java:239)
        at org.netbeans.modules.j2ee.deployment.impl.ServerInstance$3.run(ServerInstance.java:794)
        at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:573)
        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1005)

Many of them appear to be because the code that imports/upgrades the userdir from 6.5 to 6.7 misses a very important subdirectory, .netbeans/conf/GlassFish. I fixed the issue in the code, so it should be available in nightly builds of NetBeans 6.7 soon. If you run into the exception with builds younger than 7 March 2009, please let me know.

(2009-03-06 20:13:13.0) Permalink

A very useful day

Every now and then, you look back at 'What did I do today?' and the answer is mighty depressing. Today was not one of those days for me.

For my accomplishments today, I:

I wish that I had been able to work a bug fix into the mix today, but that did not happen. Maybe Monday.

(2009-03-06 20:01:02.0) Permalink

20090220 Friday February 20, 2009

Development builds get GlassFish v2.1 bundled

GlassFish v2.1 has been out for a little while and is now part of the development build bundles.

If you are using NetBeans 6.5, you can register a GlassFish v2.1 instance and it should work, but it is not a support combination. I may be able to slip a fix or two into the 6.5 patch releases, if folks run into a serious problem though...

(2009-02-20 12:01:42.0) Permalink

20090212 Thursday February 12, 2009

6.7 and GlassFish v3

In yesterday's entry, I talked about some new features in the GlassFish integration module for NetBeans 6.7. I will be honest... they were a bit underwhelming.

In this entry, I want to introduce an early access feature: Support for GlassFish v3!

Since this is early access, I have disabled v3 support, by default. If you want to see the v3 support, you will need to apply a special flag to the command-line used to start the IDE. The flag is:

-J-Dorg.glassfish.v3.enableExperimentalFeatures=true

Once the flag is set, you will start to see 'GlassFish v3' appear in the UI. It will be near/next to 'GlassFish v3 Prelude', in many cases.

Let's take a look at some of the changes.

  1. v3 Appears in the Servers List

    This is pretty self explanatory...

  2. Download Now gets the latest promoted build

    The bits come from http://download.java.net/glassfish/v3/promoted/latest-glassfish.zip. Since this URL always points to the latest promoted build, you can use the 'Download Now' button to keep up with changes in v3 very easily. If you are registering a GlassFish v3 Prelude instance, the 'Download Now' button will download the latest release of GlassFish v3 Prelude... just like you should expect.

  3. Masquerading is a not allowed

    If you have chosen to register v3, you cannot point at a v3 Prelude install. If you have chosen to register v3 Prelude, you cannot point at a v3 install. While their names are similar, the two servers are radically different.

  4. More Java EE support

    GlassFish v3 will eventually support the full spectrum of Java EE projects and the integration allows you to create projects that target a v3 server instance. Pay special attention to the word eventually in the previous sentence. The latest builds of GlassFish v3 are still not ready to support all of Java EE 5, so you will run into bugs while developing and deploying Java EE projects onto v3. Please be patient.


    Create an EJB Module project that targets GlassFish v3

    Create an Application Client project that targets GlassFish v3

    Create an Enterprise Application project that targets GlassFish v3
  5. Autoregistration of GlassFish v3

    To autoregister a GlassFish v3 server instance, you can set the flag:

    -J-Dorg.glassfish.v3ee6.installRoot=<INSTALL-ROOT>
    If you do set this flag, you do not need to set the enableExperimentalFeatures flag, but you can if you want to....

One important thing to note about GlassFish v3 that is different from Glassfish v3 Prelude is the JDK requirements. GlassFish v3 Prelude could run under JDK 5. NetBeans 6.7 will also be able to run under JDK 5. GlassFish v3 requires JDK 6... so you may run into this error message when you attempt to start a registered v3 instance.


Error dialog

You can set the 'Java Executable' instance property to work-around this issue.

One final note: the NetBeans support for v3 is experimental and v3 is not even feature complete at this point. This is definitely the 'bleeding edge'. You will run into bugs. Expect them. When you hit one, please file it, but please include some hint that you are running with experimental features enabled.

Update: Account for name change

(2009-02-12 00:01:01.0) Permalink

20090211 Wednesday February 11, 2009

GlassFish Integration Changes for NB 6.7 M2

We are making a few changes in the server integration modules for GlassFish v3 Prelude for NetBeans 6.7.

Update: Account for name change

(2009-02-11 00:01:01.0) Permalink Comments [2]

20090210 Tuesday February 10, 2009

SIP development modules via Auto-update

The SIP application development and testing modules that ship as part of the GlassFish Communication AS v1.5 (SailFin) have been put on the NetBeans 6.5 Beta update center.

Use the Plugins item of the Tools menu to open up the Plugin Manager dialog. Select the two check boxes and press the install button to install these plugins.

Follow this link to see previous entries about the SIP Agent.

Follow this link to see previous entries about SIP Projects.

(2009-02-10 06:00:00.0) Permalink

20090205 Thursday February 05, 2009

NetBeans, JDK Update 12 and Server Registration Woes!

If you have seen a stacktrace like

java.lang.NullPointerException
        at org.netbeans.modules.server.ui.wizard.ServerWizardVisual.isServerValid(ServerWizardVisual.java:155)
        at org.netbeans.modules.server.ui.wizard.ServerWizardVisual.isValid(ServerWizardVisual.java:146)
        at java.awt.Component.invalidateIfValid(Component.java:2711)
        at java.awt.Component.setLocale(Component.java:1780)
        at javax.swing.JComponent.(JComponent.java:600)
        at javax.swing.JPanel.(JPanel.java:82)
        at javax.swing.JPanel.(JPanel.java:109)
        at javax.swing.JPanel.(JPanel.java:117)
        at org.netbeans.modules.server.ui.wizard.ServerWizardVisual.(ServerWizardVisual.java:83)
        at org.netbeans.modules.server.ui.wizard.ServerWizardPanel.getComponent(ServerWizardPanel.java:68)
        at org.netbeans.modules.server.ui.wizard.AddServerInstanceWizard$AddServerInstanceWizardIterator.initialize(AddServerInstanceWizard.java:270)
        at org.openide.WizardDescriptor.callInitialize(WizardDescriptor.java:1326)
        at org.openide.WizardDescriptor.(WizardDescriptor.java:410)
        at org.openide.WizardDescriptor.(WizardDescriptor.java:419)
        at org.netbeans.modules.server.ui.wizard.AddServerInstanceWizard.(AddServerInstanceWizard.java:103)
        at org.netbeans.modules.server.ui.wizard.AddServerInstanceWizard.(AddServerInstanceWizard.java:90)
        at org.netbeans.modules.server.ui.wizard.AddServerInstanceWizard.showAddServerInstanceWizard(AddServerInstanceWizard.java:109)
        at org.netbeans.modules.server.ui.manager.ServerManagerPanel.addServer(ServerManagerPanel.java:335)
        at org.netbeans.modules.server.ui.manager.ServerManagerPanel.access$000(ServerManagerPanel.java:84)
        at org.netbeans.modules.server.ui.manager.ServerManagerPanel$.actionPerformed(ServerManagerPanel.java:174)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)
        at java.awt.Component.processMouseEvent(Component.java:6218)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3294)
        at java.awt.Component.processEvent(Component.java:5983)
        at java.awt.Container.processEvent(Container.java:2046)
        at java.awt.Component.dispatchEventImpl(Component.java:4578)
        at java.awt.Container.dispatchEventImpl(Container.java:2104)
        at java.awt.Component.dispatchEvent(Component.java:4404)
        at java.awt.LightweightDispatcher.retargetMouseEvent(LightweightDispatcher.java:4565)
        at java.awt.LightweightDispatcher.processMouseEvent(LightweightDispatcher.java:4228)
        at java.awt.LightweightDispatcher.dispatchEvent(LightweightDispatcher.java:4158)
        at java.awt.Container.dispatchEventImpl(Container.java:2090)
        at java.awt.Window.dispatchEventImpl(Window.java:2559)
        at java.awt.Component.dispatchEvent(Component.java:4404)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:605)
        at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:286)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:195)
        at java.awt.Dialog$.run(Dialog.java:1072)
        at java.awt.Dialog$.run(Dialog.java:1126)
        at java.security.AccessController.doPrivileged(AccessController.java:0)
        at java.awt.Dialog.show(Dialog.java:1124)
        at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:835)
        at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:869)
        at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:857)
        at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:108)
        at org.openide.util.Mutex.doEventAccess(Mutex.java:1355)
        at org.openide.util.Mutex.readAccess(Mutex.java:268)
        at org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:842)
        at java.awt.Component.show(Component.java:1483)
        at java.awt.Component.setVisible(Component.java:1435)
        at java.awt.Window.setVisible(Window.java:875)
        at java.awt.Dialog.setVisible(Dialog.java:1011)
        at org.netbeans.api.server.CommonServerUIs.showCustomizer(CommonServerUIs.java:90)
        at org.netbeans.modules.server.ui.manager.ServerManagerAction.performAction(ServerManagerAction.java:61)
        at org.openide.util.actions.CallableSystemAction$.run(CallableSystemAction.java:118)
        at org.netbeans.modules.openide.util.ActionsBridge.doPerformAction(ActionsBridge.java:77)
        at org.openide.util.actions.CallableSystemAction.actionPerformed(CallableSystemAction.java:114)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:824)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:868)
        at java.awt.Component.processMouseEvent(Component.java:6218)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3294)
        at java.awt.Component.processEvent(Component.java:5983)
        at java.awt.Container.processEvent(Container.java:2046)
        at java.awt.Component.dispatchEventImpl(Component.java:4578)
        at java.awt.Container.dispatchEventImpl(Container.java:2104)
        at java.awt.Component.dispatchEvent(Component.java:4404)
        at java.awt.LightweightDispatcher.retargetMouseEvent(LightweightDispatcher.java:4565)
        at java.awt.LightweightDispatcher.processMouseEvent(LightweightDispatcher.java:4228)
        at java.awt.LightweightDispatcher.dispatchEvent(LightweightDispatcher.java:4158)
        at java.awt.Container.dispatchEventImpl(Container.java:2090)
        at java.awt.Window.dispatchEventImpl(Window.java:2559)
        at java.awt.Component.dispatchEvent(Component.java:4404)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:605)
        at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:286)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:191)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:186)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:139)

You have probably run into issue 150223.

I blew it. When I first checked-in the fix for this issue, I was under the impression that it was only going to happen to folks running the IDE under JDK 7... But it turns out that the changes associated with JDK 7 that started triggering this issue back in October worked their way into JDK 6 update 12.

So, if you are runnning into this stack trace, please try running the IDE under JDK 6 update 10 (which is what I have been using successfully on Solaris for some time) or update 11 (which doesn't seem to be triggering this issue, either).

See this FAQ entry about selecting the JDK used for the IDE process.

I am hopeful that the fix will get rolled into NetBeans 6.5 patch 3.

Update: here is a link to get JDK 6 Update 11

Update2: This issue has been resolved. Read this entry for more info.

(2009-02-05 22:04:18.0) Permalink Comments [2]

20081216 Tuesday December 16, 2008

SIP Servlet Development Support and 6.5

Some folks may have read about the work done to create a development environment for SIP Servlet Applications based on NetBeans 6.1.

Now that 6.5 is out, you may have noticed that the bits aren't available on the 6.5 beta update center. The primary reason they aren't there is because I haven't asked that they be pushed into that update center. You can install the NBMs that support SIP Servlet application development,

by installing them from the lib/tools/netbeans subdirectory of a SailFin installation. You can also download the plugin from the 6.1 Beta update center into 6.5, but I do not recommend that. Those NBMs do not have the 'final' JSR289 apis and some other bug fixes.

I will request that the nbms be staged in the 6.5 Beta update center after the SailFin project ships their 1.5 release.

(2008-12-16 11:33:54.0) Permalink

Calendar

« May 2009
SunMonTueWedThuFriSat
     
2
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
      
Today

RSS Feeds

XML
All
/5 in 5
/Compile Time
/Ease of Evolution
/General
/GlassFish
/Gotchas
/Java
/Music
/NetBeans

About Me

Photo of Vince Kraemer
Short Bio

Search

Links


Navigation



Subscribe with Bloglines Add to Technorati Favorites

Referers

Today's Page Hits: 464