I was asked this question in an interview. If I include jsp A in jsp B and jsp B in jsp A (using include statements) and run the server, what will happen?
1) what kind of error/exception will you get?
2) will you get the same error/exception every time you run the server?
I tried tomcat. my system freezed and I had to kill the process, didn't wait for it to end. In the interview, I mumbled it should throw either stackoverlflow error or out of memory error and the guy asked which one? when loading jsps, does the container use space on the stack or not?
Related
I am working on a project in Drools6. I have defined a few custom tasks using workitemhandler. When I create a new process file(*.bpmn file) and model it by adding my custom tasks and other inbuilt blocks, everything works fine in the beginning. But, if the complexity of the .bpmn flow diagram increase i.e, I add about 4-5 custom tasks, create sub-processes, add a few gateways etc, the program crashes and I will not be able to open my flow diagram again. It says there is a parse error.
I have tried reinstalling eclipse, but it still gives me the same error. I have not used exception handling in the java class of my custom tasks. Could this be why my program is crashing.
please guys, if anyone has come across a similar issue, let me know how you resolved it.
Thank you
it seems that for some reason your business process is corrupted and it cannot be opened by the editor. Do you have a previous version of your process? Try opening another process.
You can also try the web designer, which is usually more powerful than the eclipse one.
Regards
I am using JasperReports 5.2.0 in Eclipse Kepler 20130606-0932. I am using Java 1.7. I cannot find many other pages reporting this outside of using JSF or something code like. I am just using the GUI and am wondering why this is happening. This error happens whenever I go from a jrxml tab to any other tab. It does not occur when I go from a different tab to a jrxml tab. I don't want to post the entire dump unless someone really wants to see it. Here are the first few lines of the stack trace though
Blocked recursive attempt to activate part
java.lang.IllegalStateException
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$2.setFocus(ContributedPartRenderer.java:119)
at org.eclipse.swt.custom.CTabItem.setFocus(CTabItem.java:329)
at org.eclipse.swt.custom.CTabFolder.setFocus(CTabFolder.java:2509)
at org.eclipse.swt.widgets.Control.fixFocus(Control.java:1053)
at org.eclipse.swt.widgets.Control.setVisible(Control.java:3819)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3049)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3006)
at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1101)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:66)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
Is there something I can try to resolve this error. I already re-installed Eclipse and created a new Jasper project. Still the same error every single time I tab.
I've been trying to get the following Eclipselink samples to work, with less than 0% success:
A)
http://wiki.eclipse.org/EclipseLink/Examples/JPARS/Simple
B)
git://git.eclipse.org/gitroot/eclipselink/examples/mysports.git
Both samples are quite recent and should work "out of the box". My results:
A) starts and deploys on glassfish, but application is totally unresponsive
B) does not deploy, since glassfish does not find the data-source mentioned in the persistence xml's: java:global/mysports
For both I tried to get information on how they are supposed to work, but after two days of searching for documentation, I can safely state: there is literally NOTHING documented.
For A) I am totally clueless, there is nothing to configure for this sample, but the provided URLs for interacting with the REST service always return with 404 and no log or error message whatsoever.
For B) Beside the broken data source (I guess my fault), I tried setting default JDBC data-sources, to see if at least the REST service itself works: it looks dead, I get exceptions when opening the sample JSF pages (the reference variables inside the pages all resolve to NULL).
Anybody ever tried to actually run these samples? I am totally frustrated after many hours of being far away to anything testable...
Maybe some questions as a starting point:
- How does the JPA-RS get registered in the appserver? how do I tell if it was at all? And which URL it maps to?
- How does this magic "java:global/mysports" data source work?
- The maven configuration acts funny, I couldn't get any of the two samples to properly debug (no breakpoints were hit at any point in time). Any ideas?
If you are using Glassfish earlier than Glassfish 4.0 (http://dlc.sun.com.edgesuite.net/glassfish/4.0/promoted/) you will need to download newer version of EclipseLink 2.4.2 binaries from http://www.eclipse.org/eclipselink/downloads/nightly.php (2.4.2 Nightly Build Results) and replace following files under $GLASSFISH_HOME/glassfish/modules with corresponding jars you downloaded above:
org.eclipse.persistence.antlr.jar
org.eclipse.persistence.jpa.jar
org.eclipse.persistence.asm.jar
org.eclipse.persistence.jpa.modelgen.jar
org.eclipse.persistence.core.jar
org.eclipse.persistence.oracle.jar
javax.persistence.jar
org.eclipse.persistence.dbws.jar
org.eclipse.persistence.jpa.jpql.jar
Make sure you clear Glassfish osgi cache by removing the $GLASSFISH_HOME\glassfish\domains\your_domain\osgi-cache directory after you replaced the bundles listed above, and before you restart the Glassfish.
These are both advanced examples, unless you are looking for these specific features, I would recommend starting out with simpler examples.
There are many EclipseLink JPA examples documented here,
http://wiki.eclipse.org/EclipseLink/Examples
Most of the examples are still in SVN here,
http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/trunk/examples/
For documentation on the JPA-RS examples see,
http://wiki.eclipse.org/EclipseLink/Examples/JPA#JPA-RS
Try adding question to the example's wiki discussion page if you are having specific problems.
The MySports example is very advanced. Unless you are looking for extendable entities and multi-tenancy, I would not recommend starting with this example.
To add to James' comments, if you are specifically interested in JPA-RS, perhaps these additional comments will help. I also recommend asking questions on the wiki discussion page.
JPA-RS gets registered in the appserver by the existence of the org.eclipse.persistence.jpars_[version].jar in the WEB-INF/lib directory. This jar contains the web-fragment.xml which is what defines the JPA-RS service. You will know if it was deployed if the following URL pattern returns persistence unit metadata:
http://<server>:<port>/<applicationName>/persistence
Some additional documentation for JPA-RS:
- http://www.eclipse.org/eclipselink/documentation/2.4/solutions/restful_jpa001.htm
- wiki.eclipse.org/EclipseLink/Development/2.4.0/JPA-RS/REST-API
One thing that will help you debug is to view the Glassfish server log. If you are running in Eclipse, right click on your Glassfish server in the Server view, go to Glassfish->View Log File, which will open the server log in your console view. This will show you what is happening with deployment, and will alert you to any errors. Also be sure to double check your URLs.
Ok, ladies. A friend of mine had the brilliant idea of forcing ALL logging on eclipselink-jpars library (by setting this value in every single file we could think of) and indeed we found an exception that is FOR NO GOOD REASON hidden in the lowest log level:
javax.xml.bind.PropertyException: name: eclipselink.json.include-root value: false
Whatever that means, but that again convinces me that I will not use this feature/lib for the time being. An exception should be visible on all log levels, especially if I go down to FINE (as stated in the samples!)! I almost lost three days just because of this.
While trying to use GWT Super Dev Mode, I followed those guidelines :
GWT-2.5-Super-Dev-Mode
Introducing Super Dev Mode
How does GWT's Super Dev Mode work?
However, I am stuck at the step trying to turn on Super Dev Mode :
Once I fully compiled my project, I run the code server and the dev mode, go at http://127.0.0.1:8888/myapp.html (without the ?gwt.codesvr=127.0.0.1:9997) and then click on the bookmark Dev Mode On. It detects my module, asks me to recompile, a glass screen appears with a message Compiling MyApp ... and then nothing ... No error, no stack trace either in Chrome or Eclipse. Just nothing happens.
Debugging the js code from dev_mode_on.js file, the script is interrupted at line 324 :
...
function getBindingParameters(module_name, get_prop_map) {
var session_key = '__gwtDevModeSession:' + module_name;
--> var prop_map = get_prop_map(); <--
...
Once the function get_prop_map is called, a few more obfuscated functions run and the debugger returns.
I know it is still experimental, but do you have any idea of what I could have done wrong ?
PS: I am using GWT 2.5, GWT-maven-plugin 2.5 and Chrome 23.0.1271.64 m
We have found a similar issue and tracked down the cause, looks like a boundary case not handled in GWT.
More info can be found here: http://code.google.com/p/google-web-toolkit/issues/detail?id=7894
I don't have an answer, but I can give some general debugging tips for this sort of problem.
Super Dev Mode currently (as of 2.5) doesn't report any progress to the web browser while it's compiling. It won't update the dialog until the compile finishes. So it's possible that it's just very slow for your program for some reason, or the compile stopped and somehow didn't report an error like it normally does.
However, there are other ways you can monitor its progress. The compiler log is available as a web page by following links from the code server's front page; you will have to refresh the page to see updates. Or you could look at the log on disk in the code server's work directory. (You can set the work directory with the -workDir argument when you start it.)
Another way is to start the code server from the command line. Any stack traces from the code server will be printed there. You should also be able to look at the output in Eclipse or IntelliJ if you're running it from there.
From this you should be able to tell whether the compiler is slow, but still working (it's still printing output) or has actually stopped with a stack trace.
I have have a mod_perl program that implements its own handler function (i.e. it's not using Apache::Registry).
I have a parser module written using Parse::RecDescent.
I have been successfully using the parser module in another similar mod_perl program for months with no issue.
Simply "use"ing the parser module in the my new mod_perl program (i.e. no references to functions in the module) causes the Apache server to spawn child processes until it hits it's max limit. Commenting out the "use" statement solves the problem (but leaves me without the use of the parser, obviously).
I suspect that the inclusion of the library is doing something that causes the Apache lifecycle to hang before it ends. I believe this is happening after the logging phase since the response is sent and the log is updated.
Anyone have any clues for me? I'm at a loss.
--phil--
I don't have an answer for you (personally, I use fastcgi...) but I can suggest an approach: attach strace, ltrace, gdb, etc. to the apache child process and see where its hanging. You may need to rebuild apache, mod_perl, and even perl with debug symbols to get reasonable output from gdb.
So, I solved the problem, but don't understand why it worked. That leaves me slightly frustrated, but I'm grateful that the problem's gone.
Before I took derobert's suggestion and traced the process, I decided to move the library load to the mod_perl startup file and voila, problem solved.
Interesting that it took me a day of work to get to the point where I understood the problem enough to ask the question on SO and then once I got to that point, a simple thing solved it.