We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you two Citrix podcasts. Learn about 2020 trends and get answers to your biggest Citrix questions!Listen Now

x

JRUN Page not found: RepositoryException error

digarati
digarati asked
on
Medium Priority
1,344 Views
Last Modified: 2013-12-02
I get the following on my jrun server sporadically and more and more if i hit refresh repeatedly:

503 Service Unavailable

Page not found: RepositoryException: com.hidden.database.RepositoryException

Unexpected Error RepositoryException: com.hidden.database.RepositoryException

This also shows up in my /var/log/jrun/error-log:

com.site.database.RepositoryException
        at com.site.database.Repository.buildStatement(Repository.java:231)
        at com.site.database.Repository.runQuery(Repository.java:239)
        at com.site.database.Repository.getDataBeans(Repository.java:445)
        at com.site.database.Repository.getDataBeans(Repository.java:438)
        at com.site.presentation.ComponentRepository.findByPath(ComponentRepository.java:89)
        at com.site.web.Dispatcher.forwardRequest(Unknown Source)
        at com.site.web.Dispatcher.doPost(Unknown Source)
        at com.site.web.AcpServlet.doGet(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at com.site.web.AcpServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1416)
        at allaire.jrun.session.JRunSessionService.service(JRunSessionService.java:1082)
        at allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:1270)
        at allaire.jrun.servlet.JRunNamedDispatcher.forward(JRunNamedDispatcher.java:39)
        at allaire.jrun.servlet.Invoker.service(Invoker.java:84)
        at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1416)
        at allaire.jrun.session.JRunSessionService.service(JRunSessionService.java:1082)
        at allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:1270)
        at allaire.jrun.servlet.JRunRequestDispatcher.forward(JRunRequestDispatcher.java:89)
        at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1552)
        at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1542)
        at allaire.jrun.servlet.JvmContext.dispatch(JvmContext.java:364)
        at allaire.jrun.jrpp.ProxyEndpoint.run(ProxyEndpoint.java:388)
        at allaire.jrun.ThreadPool.run(ThreadPool.java:272)
        at allaire.jrun.WorkerThread.run(WorkerThread.java:75)

I am completely scratching my head...

Comment
Watch Question

Mick BarryJava Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
could be too many requests accessing the same resource, or just too much load on server.
Just guessing though, the error doesn't tell us much

Author

Commented:
anywhere else i should be looking?
Mick BarryJava Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
do u have the source for Repository?

Author

Commented:
what do you mean by that, where should i look to find it?

another error:

02/11 23:51:12 debug (JRun) HttpServletResponse.sendError(503,<h2><i>Page not found: RepositoryException: com.site.databa                                                   se.RepositoryException</i></h2>) [javax.servlet.ServletException: 503 <h2><i>Page not found: RepositoryException: com.accumedi                                                   a.database.RepositoryException</i></h2>]
javax.servlet.ServletException: 503 <h2><i>Page not found: RepositoryException: com.accumedia.database.RepositoryException</i>                                                   </h2>
        at allaire.jrun.servlet.JRunResponse.sendError(JRunResponse.java:529)
        at allaire.jrun.servlet.JRunResponse.sendError(JRunResponse.java:513)
        at allaire.jrun.servlet.JRunResponse.sendError(JRunResponse.java:501)
        at com.accumedia.web.Dispatcher.forwardRequest(Unknown Source)
        at com.accumedia.web.Dispatcher.doPost(Unknown Source)
        at com.accumedia.web.AcpServlet.doGet(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at com.accumedia.web.AcpServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1416)
        at allaire.jrun.session.JRunSessionService.service(JRunSessionService.java:1082)
        at allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:1270)
        at allaire.jrun.servlet.JRunNamedDispatcher.forward(JRunNamedDispatcher.java:39)
        at allaire.jrun.servlet.Invoker.service(Invoker.java:84)
        at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1416)
        at allaire.jrun.session.JRunSessionService.service(JRunSessionService.java:1082)
        at allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:1270)
        at allaire.jrun.servlet.JRunRequestDispatcher.forward(JRunRequestDispatcher.java:89)
        at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1552)
        at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1542)
        at allaire.jrun.servlet.JvmContext.dispatch(JvmContext.java:364)
        at allaire.jrun.jrpp.ProxyEndpoint.run(ProxyEndpoint.java:388)
        at allaire.jrun.ThreadPool.run(ThreadPool.java:272)
        at allaire.jrun.WorkerThread.run(WorkerThread.java:75)
Mick BarryJava Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
I meant do you have the source code for that class?

Author

Commented:
i do yes.  as i have done something similar in the past unzipping it and then decompiling with jad.  
what would the class be called?
Mick BarryJava Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
Repository.java, look at lines ~ 230+

Author

Commented:
protected void runQuery(BigDecimal bigdecimal)
        throws RepositoryException
    {
        if(queryStmt == null)
            buildStatement(bigdecimal);
        try
        {
            if(bigdecimal == null)
            {
                if(fieldArray != null)
                {
                    for(int i = 0; i < fieldArray.length; i++)
                        switch(fieldTypes[i])
                        {
                        case 4: // '\004'
                            Log.log("Inserting integer value: " + ((Integer)fieldArray[i]).intValue(), 5, "Repository.runQuery()");
                            queryStmt.setInt(i + 1, ((Integer)fieldArray[i]).intValue());
                            break;

                        case 1: // '\001'
                            Log.log("Inserting boolean value: " + ((Boolean)fieldArray[i]).booleanValue(), 5, "Repository.runQuery()");
                            queryStmt.setBoolean(i + 1, ((Boolean)fieldArray[i]).booleanValue());
                            break;

                        case 12: // '\f'
                            Log.log("Inserting string value: " + (String)fieldArray[i], 5, "Repository.runQuery()");
                            queryStmt.setString(i + 1, (String)fieldArray[i]);
                            break;

                        case 91: // '['
                            Log.log("Inserting date value: " + ((Date)fieldArray[i]).toString(), 5, "Repository.runQuery()");
                            queryStmt.setDate(i + 1, (Date)fieldArray[i]);
                            break;

                        case 93: // ']'
                            Log.log("Inserting timstamp value: " + ((Timestamp)fieldArray[i]).toString(), 5, "Repository.runQuery()");
                            queryStmt.setTimestamp(i + 1, (Timestamp)fieldArray[i]);
                            break;

                        case 2005:
                            Log.log("Inserting clob value: " + ((Clob)fieldArray[i]).toString(), 5, "Repository.runQuery()");
                            queryStmt.setClob(i + 1, (Clob)fieldArray[i]);
                            break;

                        case 2: // '\002'
                            Log.log("Inserting numeric value: " + ((BigDecimal)fieldArray[i]).toString(), 5, "Repository.runQuery()");
                            queryStmt.setBigDecimal(i + 1, (BigDecimal)fieldArray[i]);
                            break;

                        default:
                            Log.log("Inserting other value: " + fieldArray[i].toString(), 5, "Repository.runQuery()");
                            queryStmt.setString(i + 1, fieldArray[i].toString());
                            break;
                        }

                }
Mick BarryJava Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
can u post the buildStatement() method

Author

Commented:
Please see attached
Repository.txt
from what I can see, its being generated from a SQLException..

i.e. something wrong is going on with the database /database connections..

on the top of if its 503 ( server too busy/denial).. so that leads me to believe that either your code is not releasing already acquired database connections or your database is limiting them...

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
The asker is saying that the issue was with his database resources not being released properly which is inline with my assesment ( last comment of the question). Hence I believe I did provide the usefull information.
The asker is saying that the issue was with his database resources not being released properly which is inline with my assesment ( last comment of the question). Hence I believe I did provide the usefull information.
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.