Insert Witty Irony Here

vince kraemer's Weblog


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

20081106 Thursday November 06, 2008

Are you sure you are developing Java Web Apps?

I have a short screencast that demonstrates some features of a development environment based on NetBeans 6.5 and GlassFish v3 Prelude that may lead you to question whether you are using Java to create web applications deployed on a web container.

We have come a long way from the days of the 'compile-package-deploy' napping development cycle.

And these capabilities are just the tip of the iceberg for GlassFish v3.

(2008-11-06 00:00:00.0) Permalink Comments [2]

20081104 Tuesday November 04, 2008

No PasswordCredential found

I have seen a number of people run into problems with using databases that use an empty string as the value for a password. I have seen many of these reports coming from folks using MySQL. But I had never investigated the problem... until today.

I have been asked to prepare some training materials about the integration between NetBeans and GlassFish for folks that aren't in the thick of developing NetBeans or GlassFish. So, I decided to try out the NetBeans, MySQL, GlassFish bundle... and ran straight into the grief that others have been talking about.

I installed the bundle on my laptop and tried to retarget the JsfJpa sample to MySQL. When I tried to create the JDBC Connection Pool in the IDE, I hit the first problem. The wizard for creating the connection pool insisted that I must enter a value in the field.

I filed an issue against NetBeans so this can get fixed.

After I got the pool defined... incorrectly. I decided to try to correct it. So, I tried setting the value to an empty string via the CLI and the Admin GUI and was thwarted on all fronts.

I was lucky though. I have Kedar just down the hall... and he gave me the info that I needed.

And now, I am going to give that to you.

There is a special meta-string that can be used in property values to represent a zero length string.

()

This special string can be used in asadmin's set subcommand, in the Admin GUI's property table and in the IDE wizards.

(2008-11-04 13:06:20.0) Permalink

20080624 Tuesday June 24, 2008

A Real World Testimonial

Adam Bien has a recent blog entry about "enterprise" development productivity that made me pretty happy.

One thing to note... I think Patch Two for NetBeans 6.1 includes the fix for initial deploy time issue that Adam seems to have encountered.

(2008-06-24 23:58:00.0) Permalink Comments [1]

Glad to be of help, wordle user...

I was reading through the access log for my blog and found out that lots of folks are coming to my blog from the Wordle FAQ. They are coming by to read an entry about the Java console on Mac OS X.

What is wordle?

The best thing to do is show you a wordle. This wordle contains the text of this blog entry.

(2008-06-24 18:43:44.0) Permalink

20080619 Thursday June 19, 2008

GlassFish V3 integration integrated

Folks like Ludo and Arun have posted entries about how to use GlassFish V3 TP2 with NetBeans 6.1. The first step is to get the bits from the NetBeans 6.1 beta update center.

One of my colleagues, Peter Williams, recently moved the code into the "main" Mercurial repository for NetBeans. We threw the switch to make the V3 server integration modules part of the trunk builds over the week-end.

This means that folks that want to live on the bleeding edge can get a development environment for GlassFish V3 even faster...

One warning: The bits that are downloaded by the integration module are currently the TP2 release. This will change soon. The V3 bits will be from a promoted build.

(2008-06-19 00:01:01.0) Permalink

20080605 Thursday June 05, 2008

Faster NetBeans on Windows... because someone filed a bug report.

Folks that work with NetBeans dev builds may have noticed a little bit of a speed improvement in the last couple of days.

I got involved in a thread on the nbj2ee mailing list. The user was seeing terrible performance on Windows while using directory deployment onto Glassfish V2. The user was able to describe their situation in enough detail that I could replicate the problem and fix it.

But after fixing it, I realized that this was a bigger issue. I figure there is about 800 uses of getOutputStream(), spread over 500 files. So, I filed an issue and another engineer (who knows more about that area of the code) fixed it.

As an added bonus... It looks like both fixes will go into patch 2 for NetBeans 6.1.

(2008-06-05 21:43:11.0) Permalink Comments [4]

New on the Update Center: SIP Application Development Module Suite

Long row, hoed!

You can now get the SIP Application Development modules from the NetBeans Beta update center with NetBeans 6.1.

  1. Open the Plugins dialog, by using the Plugins item of the Tools menu.
  2. Select the SIP Project item from the list of Available plugins.
  3. Press the 'Install' button.
  4. Press the 'Next' button.
  5. Accept the license.
  6. Watch the download status dialog update.
  7. Click Finish on the installation summary page.

As we make bug fixes to the plugin, we will update the bits on the update center. The freshest bits will always be available from the lib/tools/netbeans directory of the Sailfin install, since it takes a couple days to get the bits pushed onto the update center.

I want to thank a number of folks for their contributions to this project. Ludo did the initial work on a module that would support SIP application development. Ajay Acharya had the unenviable task of moving the code to a new repository and a new package structure. Yvo Bogers contributed the test agent code, which is based on the test agent from Ericsson's SDS product. Elena Asarina identified issues and provided some documentation on how to work with the modules in the early stages. Naman Mehta helped write the "glue" that bridged the Maven1 based Sailfin build and the ant based build used by NetBeans projects. Terena Chinn-Fujii made sure the glued-together build actually built something without taking all day to do it. Jiri Kovalsky and Robert Novak made sure I dotted the license ayes and then put the bit up for the world to struggle with.

(2008-06-05 08:15:51.0) Permalink

20080514 Wednesday May 14, 2008

New Improved Tooling for Sailfin

...Now built Pragmatically, end to end...

Some folks may recall that I had done some work to make the Sailfin build for the tooling a bit more pragmatic. With the hustle and bustle to prep for JavaOne, completing that work got delayed.

But, now that work is done....

What does that mean to users? A lot, I hope.

Now, folks will be able to get their hands on tooling bug fixes quick and easy. The Sailfin project's nightly build will have the latest and greatest tooling, without nasty manual intervention.

Ah! A smooth running pragmatic build process... It smell like victory! Or was that Teen Spirit.... Hmmm.

(2008-05-14 22:25:55.0) Permalink

20080423 Wednesday April 23, 2008

The internet shows you how small the world is...

While web surfing yesterday, I discovered that a woman that shares my daughter's name lives in the house that my paternal grandparent's lived in when I was a kid.

It is amazing what you can find out on the internet, randomly.

(2008-04-23 21:45:14.0) Permalink

20080320 Thursday March 20, 2008

My 15 minutes are up...

I took part in an interview with Geertjan for JavaLobby. The interview went live earlier this morning, but now my fifteen minutes are up.

It was a rush.

(2008-03-20 09:20:20.0) Permalink

20080319 Wednesday March 19, 2008

Test agent evolution

While I have been working with the build infrastructure, I have been making some changes to the test agent. Most of them are pretty minor tweaks and bug fixes.

The most significant change that I have made is on the main "screen". In the past, all the shortcut buttons, like 'ACK', 'CANCEL' and 'BYE' were always enabled. These shortcuts are now enabled and disabled based on the selected item in the history list.

The state of the shortcuts when a request message is selected.

The state of the shortcuts when a response is selected.

I have also extended the Converged Servlet Application to open the test agent automatically, when it is deployed. It isn't much. I hope that it will save users a click or two.

I have also spent some time fixing bugs and doing some clean-up, based on the output of FindBugs.

(2008-03-19 17:02:49.0) Permalink

Calendar

« November 2009
SunMonTueWedThuFriSat
1
2
3
4
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
     
       
Today

RSS Feeds

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

About Me

Photo of Vince Kraemer
Short Bio

Search

Links


Navigation



Subscribe with Bloglines Add to Technorati Favorites

Referers

Today's Page Hits: 390