This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
[Beta2 build] I mounted via Samba network drive on Win XP box and then created new J2EE application on this new drive. Creation of the new project takes about 2 minutes. The issue was originally reported by customer of JES.
Is the problem really EAR project specific? Doesn't the same happen of java, ejb, web projects? I wonder why EAR should be slower (when I do not take into account that the EAR created EJB+WEB project by default). Can you verify this? Anyway it would be very useful to have a kind of generic progress bar for projects creation/import like for project opening.
I performed simple performance measurement of all supported projects. I measured opening time for these projects. Configuration: NetBeans 5.0 beta 2 build, projects are created in network drive that is shared via Samba |project | duration [min:s] | ------------------------------ J2SE | 24.53 | ------------------------------ Web | 1:02.49 | ------------------------------ EJB | 44.46 | ------------------------------ EAR | 2:26.48 | ------------------------------ Enterprise project opening time is approximately sum of times for EJB and web module creation. Strange is time for web project. I guess that time for web and EJB should be similar because these projects have similar structure (similar count of DDs, ...). Maybe, the the web project is good candidate for performance tuning. However, I'm afraid this changes can't be done in NetBeans 5.0 time frame. I agree the progress bar can improve user's conceive during creation the EAR project.
From the provided data it is clear that the project creation is a problem for all project types. If the projects are created on a local drive, the times are better, but it is still very slow and blocks the UI. IMHO the problem should be solved in the wizards in a generic way so: 1) the creation code doesn't run in AWT 2) there is a progress bar like in projects opening I was told that Jirka Rechtacek has been already working on it so reassigning to him. Jirko, do you think this is feasible in 5.0?
Sorry, but I can't see how moving something from the AWT or showing a progress bar can make things faster. It *can* improve the perception and user experience, but it can't fix the originally reported problem "Creation of J2EE app takes very long on network drive" (up to 2:20 minutes for a simple EAR project). Please clarify.
There are issues assigned to Wizard API: - issue 62161: New file type wizard instantiate is slow and run in EDT It could be solved in NB5.0, file a API review about this change. The AWT won't be frozen while instantiate() runs. API client can write into the error message in wizard panel. - 58889: Enhance wizard framework to display progress indication on Finish Cannot be solved in NB5.0, to late after UI/Doc freeze. Marek, please answer jchalupa's question if this change would speed up processing new J2EE app and optionaly make a dependency of some issues above.
Of cource that rescheduling project creation from EDT will not speed it up :-). I was talking about the perception of the project creation. Having the UI frozen for for a minute is not a good repute. The problem is not in the time, but in the fact that the UI is frozen and there isn't any progress shown. At least the indeterminate progressbar would be great. The issue itself is a kind of "invalid" since it is obvious that doing anything with IO on network is slower that doing the same on local disk. We can probably get the times down a little but it's not the problem, at least from my point of view. So please, go ahead and implement a kind of progress into the wizards as you have already told me Jirko. Thanks guys, I will try to be more precise in my comments next time ;-)
I'd still argue that the original bug report was about new J2EE app creation taking too long. There was nothing about UI blocking or lack of progress indication (although I do agree it's not nice at all either). Anyway, only part of the problem can be solved in the project wizard. A significant part of the project creation still occurs outside of the wizard. As Jirka mentioned, the instantiate() part can be moved out of AWT (issue #62161). Adding progress (issue #58889) to the wizard panel would be difficult in 5.0. Yet, this would still cover just a (smaller) part of the project creation.
The wizard's infrastructure has been implemented since Wizards API, 7.1. The API clients can use a progress bar integrated into wizards panels. New Java Application Project (NewJ2SEProjectWizardIterator) does a reference implementation of this new support in Wizards API. Wizards client can implement this by their point of view. Checking in nbproject/project.xml; /shared/data/ccvs/repository/java/j2seproject/nbproject/project.xml,v <-- project.xml new revision: 1.27; previous revision: 1.26 done Checking in src/org/netbeans/modules/java/j2seproject/ui/wizards/NewJ2SEProjectWizardIterator.java; /shared/data/ccvs/repository/java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/wizards/NewJ2SEProjectWizardIterator.java,v <-- NewJ2SEProjectWizardIterator.java new revision: 1.31; previous revision: 1.30 done Checking in src/org/netbeans/modules/java/j2seproject/ui/wizards/Bundle.properties; /shared/data/ccvs/repository/java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/wizards/Bundle.properties,v <-- Bundle.properties new revision: 1.50; previous revision: 1.49 done
verified in NB dev (2006071800)