JRUN Servlet
Hi I am new to Jrun. Can anybody who knows how to use JRun tell me how to locate my servlet?
I am able to run JSP. Then I tried to write a servlet program and have compiled it successfully.
Then I created a folder called "servlet" in the same directory as my JSP files. then I place my servlet.class files in that folder. However, the server is unable to detect it.
the path I set for that hyperlink is "/servlet/Testing"
Can anybody help?
assuming you are using JRUN 3.0
Put the servlets in the folder
<JRUN_HOME>\servlets folder
then you can access the servlets like
http://yourdomain:port_No/servlet/YourServlet
Alternatively you can create an web application, create servlets anywhere(preferrably within WEB-INF/classes) and register the servlets in web.xml file. Then you can access the servlet using servlet name without prefixing servlet.... like
http://yourdomain:port_No/web_app_name/YourServlet
Similar Messages
-
How to sort out error downloading perpetual license of the CS6 Design Standard for MAC: JRun Servlet Error 413 Header Length too Large?
Just bought the perpetual license online - student-teacher version. Received email confirming my eligibility and followed all instructions to a 't', but still got this 413 error message, and cannot continue.
Would anyone be able to help me?
Or how can I get in touch with Adobe themselves?
How do you get to the chat? I bought it with their help, but cannot remember how to get there again. Took me ages to find the chat.
Cheers!!! Thanks a million! Any help is welcome!!!!Make sure you have cookies enabled and clear your browser's cache before you try downloading. If it continues to present that error try using a different browser.
As far as getting to a chat link goes, it can be hit or miss... Start Here If after selecting relevant responses you are unable to find a solution, choose "Still need help? Contact us." and the chat contact option. -
Trying to download CS6 on my mac pro. when i click on Download, under my orders, it brings up an error page: JRun Servlet error, 413 Header Length to Large. It's been doing this each time I've tried that last few days. What can I do to download this?
clear your adobe.com cookies or use a different browser.
-
I cannot cancel my membership in Export, I get a JRun Servlet Error message.
I cannot cancel my Export membership I get a JRun Servlet Error message.
I suggest you try the Export PDF forum.
-
Error in Calling Weblogic EJB's from JRun servlet engine
I am using servlets in Jrun engines to callEJB's running on a WebLogic Server. I have included "c:\weblogic\classes" in Jrun classpath. But i am getting the following error. Does any body have any idea what this may be??javax.servlet.ServletException: com/sun/java/util/collections/ArrayListjava.lang.NoClassDefFoundError: com/sun/java/util/collections/ArrayListat weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:193)at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:148)at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:123)at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:668)at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246)at javax.naming.InitialContext.init(InitialContext.java:222)at javax.naming.InitialContext.(InitialContext.java:198)
First off, wrong forum section.
Check if your JNDI name is correctly placed for the bean you're calling -- check j2ee-engine.xml for that. Check the EJB container if the ear file you deployed is there and updated.
Try placing "localejbs/JNDI name" on your lookup parameter.
Regards,
Jan -
Hi,
I am using the below filter mapping
<filter-mapping>
<filter-name>jscomments</filter-name>
<url-pattern>*.js</url-pattern>
</filter-mapping>
This Mapping works on my local linux dev box but I deploy it
on our acceptance machines, the Filter does not kick in. I am not
sure if all the static files(like js, html, etc) are being served
by any Webservers like Apache, IIS or if there is any mistake with
my mappings. I do not any Jrun Admin experience.
If any one had any similar issues in the past, please let me
know ASAP of any fix you might have.
Thanks
AlusacYes, I am using 2.4.
The filter that is not involed is defined:
<filter>
<filter-name>Authenticator</filter-name>
<filter-class>com.authentication.Authenticate</filter-class>
</filter>
<filter-mapping>
<filter-name>Authenticator</filter-name>
<servlet-name>UserService</servlet-name>
</filter-mapping>
and the servlet is:
<servlet id="Servlet_1">
<servlet-name>UserService</servlet-name>
<display-name>User Services</display-name>
<servlet-class>com.user.UserServices</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping id="Mapping_1">
<servlet-name>UserService</servlet-name>
<url-pattern>/User</url-pattern>
</servlet-mapping> -
Problem posting from java app to JRun servlet
I am trying to write a jsp/servlet that will receive xml data posted to it. I am also trying to write a class that can test this. We are using JRun 3.0 to host the servlets.
I am having a pig of a time getting this simple thing to work. My jsp code is shown below, followed by the app code. If I call the application with empty arguement (e.g. java PostTester localhost://pub/test.jsp "") it works fine. If I put in any arguements I can see in the JRun log the System.out messages as expected. However, the getResponseCode() returns -1 with a message of null. If I comment out that line, it eventually times out and I get a FileNotFoundException. Incidentally it seems that it works fine from IE.
Any help much appreciated.
Thanks - Bryan
jsp code:
<%@ page import = "java.io.*" %>
<HTML> <HEAD> </HEAD>
<BODY>
<%
StringBuffer text = new StringBuffer();
BufferedInputStream is = new BufferedInputStream(request.getInputStream());
System.out.println("1a");
int c = is.available();
System.out.println ("bytes available are " + c +"<br>");
if (c> 0) {
try {
while ( is.available() > 0 && (c=is.read())>=0) {
text.append ((char)c);
System.out.println("2:"+(char)c);
System.out.println("3");
is.close();
} catch (Throwable e) {
System.out.println("Caught :"+e);
e.printStackTrace(System.out);
System.out.println("4:"+text+"\r\n" );
out.println("'"+text+"'");
%>
</BODY>
</HEAD>
Test code:
import java.net.*;
import java.io.*;
public class PostTester {
public static void main(String[] args) {
URL target=null;
HttpURLConnection con=null;
try {
target=new URL(args[0]);
con=(HttpURLConnection)target.openConnection();
con.setDoOutput(true);
con.setRequestMethod("POST");
con.setUseCaches(false);
byte buffer[]= args[1].getBytes();
System.out.println("Writing: "+args[1]);
OutputStream os=con.getOutputStream();
os.write(buffer);
os.close();
con.connect();
if (con.getResponseCode()!=HttpURLConnection.HTTP_OK)
System.out.println("****InvokeWithHTTP() - HTTP request failed - "+con.getResponseCode()+" "+con.getResponseMessage()+"\n\n");
return ;
StringBuffer response= new StringBuffer();
try {
InputStream is=con.getInputStream();
for (int c=is.read();c>=0;c=is.read()) response.append ((char)c);
is.close();
} catch (Exception e){
e.printStackTrace();
return;
con.disconnect();
System.out.println(response);
} catch (Throwable t) {
InputStream err = ((HttpURLConnection)con).getErrorStream();
if (err != null) {
BufferedReader in = new BufferedReader(new InputStreamReader(err));
StringBuffer response = new StringBuffer();
String line;
try {
while ((line = in.readLine()) != null) {
response.append(line + "\n");
in.close();
System.out.println(response);
} catch (Exception e){
e.printStackTrace();
t.printStackTrace();
con.disconnect();
}other question:
is your "argument" file contents URLEncoded ?
if some of these arguments are \n or \r or else... the server may mess the message... -
Servlet won't run under JRun 4.0
Problem> when I attempt to run a successfully compiled servlet in IE, IE
could not locate the page. IE displays "Oops! We couldn't find your
document.", or a window with caption/title "HTTP 500 Internal server
error" and message "The page cannot be displayed. There is a problem
with the page you are trying to reach and it cannot be displayed."
The servlet is stored in C:\JRun4\servers\default\default-ear\default-
war\WEB-INF\classes\Servlet_Class1.class. The 'default' server was
running (via jrun -start default).
The following are the URLs I used in an attempt to run the servlet:
http://localhost:8100/Servlet_Class1
http://localhost:8100/servlet/Servlet_Class1
http://localhost:8100/default/servlet/Servlet_Class1
http://localhost:8100/classes/Servlet_Class1
http://localhost:8100/default/classes/Servlet_Class1
I entered the following servlet definition in
C:\JRun4\servers\default\default-ear\default-war\WEB-INF\web.xml:
<servlet>
<servlet-name>Servlet_Class1</servlet-name>
<servlet-class>Servlet_Class1</servlet-class>
</servlet>
I defined url pattern in web.xml:
<servlet-mapping>
<servlet-name>Servlet_Class1</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Here is a portion of the servlet I'm attempting to run:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
/* The servlet extends the HttpServlet class and overrides the doPost
method. The doPost method is called when a client makes a POST request
(<FORM name=... METHOD=post ...>), and results in the simple HTML page
being returned to the client. */
class Servlet_Class1 extends HttpServlet {
/* not sure if main() method is necessary for servlets? */
public static void main(String[] args) {
System.out.println("inside Servlet_Class1");
} // main() method
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
... the usual
I successfully ran/accessed the following:
http://localhost:8100/index.jsp <-- worked; JRun installation default
http://localhost:8100/zhome2.jsp <-- worked; a simple JSP page I wrote
http://localhost:8100/ returns the standard IE page with the
caption/title "HTTP 500 Internal server error" and message
"The page cannot be displayed. There is a problem with the page you are
trying to reach and it cannot be displayed." index.jsp does exist under
C:\JRun4\servers\default\default-ear\default-war.
I successfully ran some servlets from the 'techniques' sample directly
by entering their URLs:
http://localhost:8200/techniques/servlet/ContextInfo <-- worked
http://localhost:8200/techniques/servlet/InitInfo <-- worked
I installed JRun as an "application", NOT as a "service".
My PC configuration:
java version "1.4.0_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_01-b03)
Java HotSpot(TM) Client VM (build 1.4.0_01-b03, mixed mode)
JRun 4 (Build 47304)
WinNT 4.0 SP5
IE 5.50
CLASSPATH=.;D:\jakarta-tomcat-3.3.1\lib\common\servlet.jar;C:\JRun4\servers\defa
ult\default-ear\default-war\WEB-INF\classes
JAVA_HOME=C:\j2sdk1.4.0_01
Path=C:\j2sdk1.4.0_01\bin;C:\WINNT\system32;C:\WINNT;C:\Program Files\Network As
sociates\PGPNT;C:\Program Files\MTS;d:\MSSQL7\BINN
I previously installed Tomcat but gave up on it. But I am using it's
servlet.jar to cleanly compile servlets.still no success. I also tried entering a dot-qualified servlet name
http://localhost:8100/servlet/zservlets.Servlet_Class1
http://localhost:8100/zservlets.Servlet_Class1
My default-event.log contained:
08/22 18:33:19 info No JDBC data sources have been configured for this
server (see jrun-resources.xml)
08/22 18:52:03 user ServletInvoker: init
08/22 19:49:16 info Servlet_Class1
08/22 19:49:16 info Servlet_Class1
08/22 19:49:17 info Servlet_Class1
08/22 19:49:17 error Requested resource null not found
08/22 19:49:33 info zservlets
08/22 19:49:33 info zservlets
08/22 19:49:33 error Requested resource null not found
08/22 19:49:35 info zservlets
08/22 19:49:35 error Requested resource null not found
08/22 19:51:46 info Deployer Service is undeploying watched URL
file:/C:/JRun4/servers/default/default-ear/
08/22 19:51:47 user ServletInvoker: destroy
08/22 19:51:47 info 3 session(s) persisted
08/22 19:51:47 info Removing web application service from servlet engine
service: default-ear#default-war
08/22 19:51:47 info Unregistering enterprise application:
file__C__JRun4_servers_default_default-ear_#default-ear
08/22 21:41:16 error Servlet_Class1
[1]java.lang.IllegalAccessException: Class
jrun.servlet.WebApplicationService can not access a member of class
zservlets.Servlet_Class1 with modifiers ""
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:57)
at java.lang.Class.newInstance0(Class.java:290)
08/22 21:41:25 user FileServlet: init
08/22 21:41:25 error Requested resource /Servlet_Class1 not found
08/22 21:41:27 error Requested resource /Servlet_Class1 not found -
All;
This is driving me crazy.
I have a CFC with a function that returns countries via remote as JSON with the // prefix as Cold Fusion is configured.
I call it with the following url
www.mydomain.com/getCountriesAndStates.cfc?method=getCountries&returnFormat=json&argumentC ollection={}&_cf_nodebug=true&_cf_nocache=true
It returns countries according to the Cold Fusion specs (just imagine it returning all countries, didn't want to paste it all the countries here).
//[[0.0,"Please select a country..."],["US","UNITED STATES"],["CA","CANADA"]]
I bind a <cfselect for countrycode to this CFC and it works about 30% of the time.
Here is the <cfselect
<cfselect name="CountryCode" id="spanCountryCode" bind="cfc:getCountriesAndStates.getCountries()" bindonload="true" onChange="DEdetermineTohide(this.id, '1')" onKeyUp="DEdetermineTohide(this.id, '1')">
</cfselect>
It has a second function that returns the States with a CountryCode as the argument.
I call it with the follow url
/getCountriesAndStates.cfc?method=getStateProvince&returnFormat=json&argumentCollection={" countrycode":"US"}&_cf_nodebug=true&_cf_nocache=true
It returns states according to the old Fusion specs (just imagine it returning all the states, didn't want to paste all the states here.)
//[[0.0,"Please select a state..."],["AL","ALABAMA"],["AK","ALASKA"]]
I bind a <cfselect to this CFC with the countrycode as an argument and it populates the states for the countrycoe about 30% of the time. It fails when the getCountries call fails.
Here is the State <cfselect
<cfselect name="StateCode" bind="cfc:getCountriesAndStates.getStateProvince({CountryCode})">
</cfselect>
I have a third funtion that returns whether or not the country selected has States and Zip Codes. I call this function from a seperate javascript script included in the header and fired from the <cfselect name="CountryCode for onChange or onKeyUp. It basically determines whether or not to show or hide both the State or Zip span but calls the CFC so that I can encapsulate everything in one place. So the state and zip span with <cfselect and <cfinput appear and disappear based on the information about the country and state and the labels can change too from State to Province and from Zip to Postal Code etc...
/getCountriesAndStates.cfc?method=getStateZipMetaData&returnFormat=json&argumentCollection ={"countrycode":"US"}&_cf_nodebug=true&_cf_nocache=true
Ok, so I hope I have described enough about what I am doing. This works about 30% of the time and fails about 70% of the time. Flawlessly. Sometimes it works for hours. But eventually for some reason AFTER a perfectly good JSON response is returned from Cold Fusion, the Cold Fusion server starts following the JSON response with a 500 Serverlet Exception error. This happesn on all function calls until I reboot my machine.
It is driving me mad and making me start to reconsider whether or not I want to use CFForm binding. It seems like a nice elegant solution that really simplifies and reduces the amount of javascript I have to write, but I can't go to production with forms that produce 500 server errors.
Anyone have any ideas on what is going on? If this is a bug?
Should I just stay away from <cfform binding?
Please help because it is driving me really crazy.
My platform information is below.
About 70% of the time it returns all the countries followed by a 500 Servlet Exception error.
500
javax.servlet.ServletException
at coldfusion.xml.rpc.CFCServlet.invoke(CFCServlet.java:154)
at coldfusion.xml.rpc.CFCServlet.doGet(CFCServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at jrun.servlet.FilterChain.service(FilterChain.java:101)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
Platform details
Server Product
ColdFusion
Version
9,0,0,251028
Edition
Developer
Operating System
Windows XP
OS Version
5.1
Adobe Driver Version
4.0 (Build 0005)
JVM Details
Java Version
1.6.0_14
Java Vendor
Sun Microsystems Inc.
Java Vendor URL
http://java.sun.com/
Java Home
C:\ColdFusion9\runtime\jre
CF9 Update 1
Apache 2.2
Database MS-SQL ExpressOk, so I think I answered this for myself. This may be ignorant. Whatever. I haven't programmed CF in over 10 years and just started again a month ago, so I think advanced CFC and javascript is a lot.
I seperated my CFC into a directory with a Alias mapping under Apache and a CF Mapping from CFIDE
I trimmed down the application.cfc
It was
<cfset This.clientstorage="Cookie">
That was causing the remoting CFC's to return a 500 Jrun Servlet Error
I am just going to keep my remote CFC's seperate from the rest of my application anyway because they need a different type of security schema.
So, if anyone struggles with this. I recommend just put your remotely accessd CFC's in a seperate virtual directory mapped from your webserver and CF and lock them down both with a trimmed down application.cfc and some kind of security.
They also seem to run much faster now combined with my other Ajax and Javascript. -
Hello all
I am new to servlets and my particular questions deals with setup. I have xp pro (iis 5.o) and I was wondering can I just install jre and put the servlet class on the server. I guess if someone can give a thought on that then I would be real appreciativeI think IIS is a webserver only. You need to have some App Server or some servlet engine to be coupled with IIS. Try to get JRun/ Servlet Exec.
-
Multiple Apache Servers tied to CF8/JRUN?
I've got CF6 experience over J2EE, but now I'm trying to
deploy CF8 over
embedded JRUN 4.0 on an OS X Tiger Server (10.4.10) and
running into some
headaches. From what I can see in the JRUN 4 documentation I
need to enable
Proxy Service so that I can have multiple web hosts tied into
the same CF8
server, but I can't figure out how to do this. The CF8
documentation doesn't
talk about embedded JRUN very much. Is there an administrator
interface for
embedded JRUN or should I attempt to edit jrun.xml by hand?
Or am I totally on
the wrong track?
Any help would be appreciated.
What follows are the nitty-gritty details.
The JRun / CF8 server is running at 192.168.1.100 and
jrun.xml contains the
following snippet (the default);
<service class="jrun.servlet.jrpp.JRunProxyService"
name="ProxyService">
<attribute
name="activeHandlerThreads">50</attribute>
<attribute
name="minHandlerThreads">1</attribute>
<attribute
name="maxHandlerThreads">1000</attribute>
<attribute name="mapCheck">0</attribute>
<attribute
name="threadWaitTimeout">300</attribute>
<attribute name="backlog">500</attribute>
<attribute name="deactivated">false</attribute>
<attribute name="interface">*</attribute>
<attribute name="port">51800</attribute>
<attribute name="timeout">300</attribute>
<!-- set this to false for multi-hosted sites -->
<attribute
name="cacheRealPath">false</attribute>
<!--
<attribute
name="keyStore">{jrun.rootdir}/lib/keystore</attribute>
<attribute
name="keyStorePassword">changeit</attribute>
<attribute
name="trustStore">{jrun.rootdir}/lib/trustStore</attribute>
<attribute
name="socketFactoryName">jrun.servlet.jrpp.JRunProxySSLServerSocketFactory</attr
ibute>
-->
</service>
The Apache server running on the same machine
(192.168.1.100) contains the
following connection info in its httpd.conf file. This works
beautifully.
# JRun Settings
LoadModule jrun_module
/Applications/ColdFusion8/runtime/lib/wsconfig/1/mod_jrun.so
<IfModule mod_jrun.c>
JRunConfig Verbose false
JRunConfig Apialloc false
JRunConfig Ssl false
JRunConfig Ignoresuffixmap false
JRunConfig Serverstore
/Applications/ColdFusion8/runtime/lib/wsconfig/1/jrunserver.store
JRunConfig Bootstrap 127.0.0.1:51800
#JRunConfig Errorurl url <optionally redirect to this URL
on errors>
#JRunConfig ProxyRetryInterval 600 <number of seconds to
wait before
trying to reconnect to unreachable clustered server>
#JRunConfig ConnectTimeout 15 <number of seconds to wait
on a socket
connect to a jrun server>
#JRunConfig RecvTimeout 300 <number of seconds to wait on
a socket receive
to a jrun server>
#JRunConfig SendTimeout 15 <number of seconds to wait on
a socket send to
a jrun server>
AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr
.cfswf
</IfModule>
Where I run into trouble is when I enable the following
configuration on a
second Apache server (at 192.168.1.102). If I enable the
following code I get
errors. [Yes, /Applications/Coldfusion8 is populated
properly, as far as I can
tell, but I don't want to launch JRUN / CF8 on this machine.]
# JRun Settings
LoadModule jrun_module
/Applications/ColdFusion8/runtime/lib/wsconfig/1/mod_jrun.so
<IfModule mod_jrun.c>
JRunConfig Verbose false
JRunConfig Apialloc false
JRunConfig Ignoresuffixmap false
JRunConfig Ssl false
JRunConfig Serverstore
/Applications/ColdFusion8/runtime/lib/wsconfig/1/jrunserver.store
JRunConfig Bootstrap 192.168.1.100:51800
#JRunConfig Errorurl url <optionally redirect to this URL
on errors>
#JRunConfig ProxyRetryInterval 600 <number of seconds to
wait before
trying to reconnect to unreachable clustered server>
#JRunConfig ConnectTimeout 15 <number of seconds to wait
on a socket
connect to a jrun server>
#JRunConfig RecvTimeout 300 <number of seconds to wait on
a socket receive
to a jrun server>
#JRunConfig SendTimeout 15 <number of seconds to wait on
a socket send to
a jrun server>
AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr
.cfswf
</IfModule>
Here are the connection errors that I receive when the
Apache server at
192.168.1.102 fires up:
[Thu Aug 9 16:36:40 2007] [notice] jrApache[25761:61918]
255.255.255.255:0
connect failed[54]: 49 49 Can't assign requested address
[Thu Aug 9 16:36:40 2007] [notice] jrApache[25761:61918]
could not
initialize proxy for fe80:0:0:0:203:93ff:feab:9662%4:51800
[Thu Aug 9 16:36:40 2007] [notice] jrApache[25761:61918]
255.255.255.255:0
connect failed[54]: 49 49 Can't assign requested address
[Thu Aug 9 16:36:40 2007] [notice] jrApache[25761:61918]
could not
initialize proxy for fe80:0:0:0:203:93ff:fec0:7676%5:51800
---END---Hi:
I played with this stuff and I found that this will work, without the Location elements:
<IfModule mod_weblogic.c>
MatchExpression /app1 WebLogicHost=server1|WebLogicPort=7003
MatchExpression /app2 WebLogicHost=server2|WebLogicPort=7003
</IfModule>
Also this will work too, with no entries inside the IfModule element:
<Location /app1 >
SetHandler weblogic-handler
WebLogicHost server1
WebLogicPort 7003
</Location>
<Location /app2 >
SetHandler weblogic-handler
WebLogicHost server2
WebLogicPort 7003
</Location> -
I'm running CF 9.0.1 on Ubuntu on an "Medium" Amazon EC2 instance. CF has been crashing intermittently (several times per day). At such times, running top gets me this (or something similar):
PID
USER
PR
NI
VIRT
RES
SHR
S
%CPU
%MEM
TIME+COMMAND
15855
wwwrun
20
0
1762m
730m
20m
S
99.3
19.4
13:22.96 coldfusion9
So, it's obviously consuming most of the server resources. The following error has been showing up in my cfserver.log in the leadup to each crash:
java.lang.RuntimeException: Request timed out waiting for an available thread to run. You may want to consider increasing the number of active threads in the thread pool.
If I run /opt/coldfusion9/bin/coldfusion status, I get:
Pg/Sec DB/Sec CP/Sec Reqs Reqs Reqs AvgQ AvgReq AvgDB Bytes Bytes
Now Hi Now Hi Now Hi Q'ed Run'g TO'ed Time Time Time In/Sec Out/Sec
0 0 0 0 -1 -1 150 25 0 0 -1352560 0 0
In the administrator, under Server Settings > Request Tuning, the setting for Maximum number of simultaneous Template requests is 25. So this makes sense so far. I could just increase the thread pool to cover these sort of load spikes. I could make it 200. (Which I did just now as a test.)
However, there's also this file /opt/coldfusion9/runtime/servers/coldfusion/SERVER-INF/jrun.xml. And some of the settings in there appear to conflict. For example, it reads:
<service class="jrunx.scheduler.SchedulerService" name="SchedulerService">
<attribute name="bindToJNDI">true</attribute>
<attribute name="activeHandlerThreads">25</attribute>
<attribute name="maxHandlerThreads">1000</attribute>
<attribute name="minHandlerThreads">20</attribute>
<attribute name="threadWaitTimeout">180</attribute>
<attribute name="timeout">600</attribute>
</service>
Which a) has fewer active threads (what does this mean?), and b) has a max threads that exceed the simultaneous request limit set in the admin. So, I'm not sure. Are these independent configs that need to be made to match manually? Or is the jrun.xml file supposed to be written by the CF Admin when changes are made there? Hmm. But maybe this is different because presumably the CF Scheduler should only use a subset of all available threads, right...so we'd always have some threads for real live users. We also have this in there:
<service class="jrun.servlet.http.WebService" name="WebService">
<attribute name="port">8500</attribute>
<attribute name="interface">*</attribute>
<attribute name="deactivated">true</attribute>
<attribute name="activeHandlerThreads">200</attribute>
<attribute name="minHandlerThreads">1</attribute>
<attribute name="maxHandlerThreads">1000</attribute>
<attribute name="mapCheck">0</attribute>
<attribute name="threadWaitTimeout">300</attribute>
<attribute name="backlog">500</attribute>
<attribute name="timeout">300</attribute>
</service>
This appears to have changed when I changed the CF Admin setting...maybe...but it's the activeHandlerThreads that matches my new maximum simulataneous requests setting...rather than the maxHandlerThreads, which again exceeds it. Finally, we have this:
<service class="jrun.servlet.jrpp.JRunProxyService" name="ProxyService">
<attribute name="activeHandlerThreads">200</attribute>
<attribute name="minHandlerThreads">1</attribute>
<attribute name="maxHandlerThreads">1000</attribute>
<attribute name="mapCheck">0</attribute>
<attribute name="threadWaitTimeout">300</attribute>
<attribute name="backlog">500</attribute>
<attribute name="deactivated">false</attribute>
<attribute name="interface">*</attribute>
<attribute name="port">51800</attribute>
<attribute name="timeout">300</attribute>
<attribute name="cacheRealPath">true</attribute>
</service>
So, I'm not certain which (if any) of these I should change and what exactly the relationship is between maximum requests and maximum threads. Also, since several of these list the maxHandlerThreads as 1000, I'm wondering if I should just set the maximum simultaneous requests to 1000. There must be some upper limit that depends on available server resources...but I'm not sure what it is and I don't really want to play around with it since it's a production environment.
I'm not sure if it pertains to this issue at all, but when I run a ps aux | grep coldfusion I get the following:
wwwrun 15853 0.0 0.0 8704 760 pts/1
S
20:22 0:00 /opt/coldfusion9/runtime/bin/coldfusion9 -jar jrun.jar -autorestart -start coldfusion
wwwrun 15855 5.4 18.2 1678552 701932 pts/1
Sl
20:22 1:38 /opt/coldfusion9/runtime/bin/coldfusion9 -jar jrun.jar -start coldfusion
There are always these two and never more than these two processes. So there does not appear to be a one-to-one relationship between processes and threads. I recall from an MX 6.1 install I maintained for many years that additional CF processes were visible in the process list. It seemed to me at the time like I had a process for each thread...so either I was wrong or something is quite different in version 9 since it's reporting 25 running requests and only showing these two processes. If a single process can have multiple threads in the background, then I'm given to wonder why I have two processes instead of one...just curious.
So, anyway, I've been experimenting while composing this post. As noted above I adjusted the maximum simulataneous requests up to 200. I was hoping this would solve my problem, but CF just crashed again (rather it slogged down and requests started timing out...so effectively "crashed"). This time, top looked similar (still consuming more than 99% of the CPU), but CF status looked different:
Pg/Sec DB/Sec CP/Sec Reqs Reqs Reqs AvgQ AvgReq AvgDB Bytes Bytes
Now Hi Now Hi Now Hi Q'ed Run'g TO'ed Time Time Time In/Sec Out/Sec
0 0 0 0 -1 -1 0 150 0 0 0 0 0 0
Obviously, since I'd increased the maximum simultaneous requests, it was allowing more requests to run simultaneously...but it was still maxing out the server resources.
Further experiments (after restarting CF) showed me that the server became unusably slogged after about 30-35 "Reqs Run'g", with all additional requests headed for an inevitible timeout:
Pg/Sec DB/Sec CP/Sec Reqs Reqs Reqs AvgQ AvgReq AvgDB Bytes Bytes
Now Hi Now Hi Now Hi Q'ed Run'g TO'ed Time Time Time In/Sec Out/Sec
0 0 0 0 -1 -1 0 33 0 0 -492 0 0 0
So, it's clear that increasing the maximum simultaneous requests has not helped. I guess what it comes down to is this: What is it having such a hard time with? Where are these spikes coming from? Bursts of traffic? On what pages? What requests are running at any given time? I guess I simply need more information to continue troubleshooting. If there are long-running requests, or other issues, I'm not seeing it in the logs (although I do have that option checked in the admin). I need to know which requests exactly are those responsible for these spikes. Any help would be much appreciated. Thanks.
~DayI really appreciate your help. However, I haven't been able to find the JRun Thread settings you describe above.
Under Request Tuning, I see:
Server Settings > Request Tuning
Request Limits
Maximum number of simultaneous Template requests
Restricts the number of simultaneously processed requests. Use this setting to increase overall system performance for heavy load applications. Requests beyond the specified limit are queued. On Standard Edition, you must restart ColdFusion to enable this setting.
Maximum number of simultaneous Flash Remoting requests
The number of Flash Remoting requests that can be processed concurrently.
Maximum number of simultaneous Web Service requests
The number of Web Service requests that can be processed concurrently.
Maximum number of simultaneous CFC function requests
The number of ColdFusion Component methods that can be processed concurrently via HTTP. This does not affect invocation of CFC methods from within CFML, only methods requested via an HTTP request.
Tag Limit Settings
Maximum number of simultaneous Report threads
The maximum number of ColdFusion reports that can be processed concurrently.
Maximum number of threads available for CFTHREAD
The maximum number of threads created by CFTHREAD that will be run concurrently. Threads created by CFTHREAD in excess of this are queued. On Standard Edition, the maximum limit is 10.
And under Java and JVM, I see:
Server Settings > Java and JVM
Java and JVM settings control the way ColdFusion starts the Java Virtual Machine when it starts. You can control settings like what classpaths are used and how memory is allocated as well as add custom command line arguments. Changing these settings requires restarting ColdFusion. If you enter an incorrect setting, ColdFusion may not restart properly.
Backups of the jvm.config file are created when you hit the submit button. You can use this backup to restore from a critical change.
Java Virtual Machine Path
Specifies the location of the Java Virtual Machine.
Minimum JVM Heap Size (MB) Maximum JVM Heap Size (MB)
The Memory Size settings determine the amount of memory that the JVM can use for programs and data.
ColdFusion Class Path
Specifies any additional class paths for the JVM, with multiple directories separated by commas.
JVM Arguments
-server -Dsun.io.useCanonCaches=false -XX:MaxPermSize=192m -XX:+UseParallelGC -Xbatch -Dcoldfusion.rootDir={application.home}/../ -Dcoldfusion.libPath={application.home}/../lib
Specifies any specific JVM initialization options, separated by spaces.
I did go take a look at FusionReactor and found it's not free (which would be fine, of course, if it would actually help). It looks like there's a fully functional demo, which is cool...but I've haven't been able to get it to install yet, so we'll see.
Thanks again!
~Day
(By the way, I've cross-posted this inquiry on StackOverflow. So if you're able to help me arrive at a solution you might want to answer there as well.) -
Commons-logging error when starting Flex2 in JRun
Created new JRun Server and deployed Flex2 to this server.
Receiving this error when starting up this server instance.
Starting Macromedia JRun 4.0 (Build 92909), logicerm2 server
07/13 22:23:28 info JRun Naming Service listening on *:2911
07/13 22:23:28 warning No sessionSecret has been specified in
jrun.xml. Installi
ng a self generated sessionSecret.
07/13 22:23:28 info No JDBC data sources have been configured
for this server (s
ee jrun-resources.xml)
07/13 22:23:28 info JRun Web Server listening on *:8102
07/13 22:23:28 info Deploying enterprise application
"default-ear" from: file:/C
:/JRun4/servers/logicerm2/default-ear/
07/13 22:23:28 info Deploying web application "JRun Default
Web Application" fro
m: file:/C:/JRun4/servers/logicerm2/default-ear/
07/13 22:23:29 info Web Services in default-ear#default-war:
07/13 22:23:29 info AdminService
07/13 22:23:29 warning default-war web application has
'reload' as true in jrun-
web.xml. Consider setting it false if the application is
running in production e
nvironment.
07/13 22:23:29 warning default-war web application has
'compile' as true in jrun
-web.xml. Consider setting it false if the application is
running in production
environment.
07/13 22:23:29 user JSPServlet: init
07/13 22:23:29 info Deploying web application "Flex Data
Services" from: file:/C
:/JRun4/servers/logicerm2/flex/
07/13 22:23:29 user JSPServlet: init
07/13 22:23:29 user FlexMxmlServlet: init
07/13 22:23:29 INFO Loading configuration file
C:\JRun4\servers\logicerm2\flex\W
EB-INF\flex\flex-webtier-config.xml
07/13 22:23:30 INFO Loading configuration file
C:\JRun4\servers\logicerm2\flex\W
EB-INF\flex\flex-config.xml
07/13 22:23:30 user FlexMxmlServlet: Starting Adobe Flex Web
Tier Compiler
07/13 22:23:30 user FlexMxmlServlet: Adobe Flex Web Tier
Compiler Build: 143451
07/13 22:23:30 user MessageBrokerServlet: init
07/13 22:23:31 user FlexSwfServlet: init
07/13 22:23:31 user FlexInternalServlet: init
07/13 22:23:31 info Deploying web application "Flex Admin Web
Application" from:
file:/C:/JRun4/servers/logicerm2/flex-admin/
07/13 22:23:31 user JSPServlet: init
07/13 22:23:31 user MessageBrokerServlet: init
07/13 22:23:31 info Deploying web application "Flex Data
Services Samples" from:
file:/C:/JRun4/servers/logicerm2/samples/
07/13 22:23:31 user JSPServlet: init
07/13 22:23:31 user FlexMxmlServlet: init
07/13 22:23:32 INFO Loading configuration file
C:\JRun4\servers\logicerm2\sample
s\WEB-INF\flex\flex-webtier-config.xml
07/13 22:23:32 INFO Loading configuration file
C:\JRun4\servers\logicerm2\sample
s\WEB-INF\flex\flex-config.xml
07/13 22:23:32 user FlexMxmlServlet: Starting Adobe Flex Web
Tier Compiler
07/13 22:23:32 user FlexMxmlServlet: Adobe Flex Web Tier
Compiler Build: 143451
07/13 22:23:32 user MessageBrokerServlet: init
07/13 22:23:32 error Could not pre-load servlet:
MessageBrokerServlet
[1]org.apache.commons.logging.LogConfigurationException:
org.apache.commons.logg
ing.LogConfigurationException:
org.apache.commons.logging.LogConfigurationExcept
ion: Invalid class loader hierarchy. You have more than one
version of 'org.apa
che.commons.logging.Log' visible, which is not allowed.
(Caused by org.apache.co
mmons.logging.LogConfigurationException: Invalid class loader
hierarchy. You ha
ve more than one version of 'org.apache.commons.logging.Log'
visible, which is n
ot allowed.) (Caused by
org.apache.commons.logging.LogConfigurationException: or
g.apache.commons.logging.LogConfigurationException: Invalid
class loader hierarc
hy. You have more than one version of
'org.apache.commons.logging.Log' visible,
which is not allowed. (Caused by
org.apache.commons.logging.LogConfigurationExc
eption: Invalid class loader hierarchy. You have more than
one version of 'org.
apache.commons.logging.Log' visible, which is not allowed.))
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactory
Impl.java:543)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactory
Impl.java:235)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactory
Impl.java:209)
at
org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at
org.apache.commons.httpclient.params.DefaultHttpParams.<clinit>(Defau
ltHttpParams.java:53)
at
flex.messaging.services.http.HTTPProxyAdapter.<init>(HTTPProxyAdapter
.java:111)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
Source)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at
flex.messaging.util.ClassUtil.createDefaultInstance(ClassUtil.java:71
at
flex.messaging.Destination.createAdapter(Destination.java:277)
at
flex.messaging.Destination.initDestination(Destination.java:103)
at
flex.messaging.services.HTTPProxyService.createDestination(HTTPProxyS
ervice.java:78)
at
flex.messaging.services.AbstractService.createDestinations(AbstractSe
rvice.java:82)
at
flex.messaging.config.MessagingConfiguration.createServices(Messaging
Configuration.java:187)
at
flex.messaging.config.MessagingConfiguration.configureBroker(Messagin
gConfiguration.java:84)
at
flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:10
5)
at
jrun.servlet.WebApplicationService.loadServlet(WebApplicationService.
java:1242)
at
jrun.servlet.WebApplicationService.preloadServlets(WebApplicationServ
ice.java:789)
at
jrun.servlet.WebApplicationService.postStart(WebApplicationService.ja
va:291)
at
jrun.deployment.DeployerService.initModules(DeployerService.java:711)
at
jrun.deployment.DeployerService.createWatchedDeployment(DeployerServi
ce.java:242)
at
jrun.deployment.DeployerService.deploy(DeployerService.java:430)
at
jrun.deployment.DeployerService.checkWatchedDirectories(DeployerServi
ce.java:179)
at
jrun.deployment.DeployerService.run(DeployerService.java:891)
at
jrunx.scheduler.SchedulerService.invokeRunnable(SchedulerService.java
:223)
at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.j
ava:426)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
Caused by:
org.apache.commons.logging.LogConfigurationException:
org.apache.comm
ons.logging.LogConfigurationException: Invalid class loader
hierarchy. You have
more than one version of 'org.apache.commons.logging.Log'
visible, which is not
allowed. (Caused by
org.apache.commons.logging.LogConfigurationException: Inval
id class loader hierarchy. You have more than one version of
'org.apache.common
s.logging.Log' visible, which is not allowed.)
at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogF
actoryImpl.java:397)
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactory
Impl.java:529)
... 30 more
Caused by:
org.apache.commons.logging.LogConfigurationException: Invalid class
l
oader hierarchy. You have more than one version of
'org.apache.commons.logging.
Log' visible, which is not allowed.
at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogF
actoryImpl.java:385)
... 31 more
[0]flex.messaging.config.ConfigurationException: Unable to
create service 'flex.
messaging.services.HTTPProxyService' for 'proxy-service' due
to the following er
ror: org.apache.commons.logging.LogConfigurationException:
org.apache.commons.lo
gging.LogConfigurationException: Invalid class loader
hierarchy. You have more
than one version of 'org.apache.commons.logging.Log' visible,
which is not allow
ed. (Caused by
org.apache.commons.logging.LogConfigurationException: Invalid cla
ss loader hierarchy. You have more than one version of
'org.apache.commons.logg
ing.Log' visible, which is not allowed.) (Caused by
org.apache.commons.logging.L
ogConfigurationException:
org.apache.commons.logging.LogConfigurationException:
Invalid class loader hierarchy. You have more than one
version of 'org.apache.c
ommons.logging.Log' visible, which is not allowed. (Caused by
org.apache.commons
.logging.LogConfigurationException: Invalid class loader
hierarchy. You have mo
re than one version of 'org.apache.commons.logging.Log'
visible, which is not al
lowed.)).
at
flex.messaging.config.MessagingConfiguration.createServices(Messaging
Configuration.java:202)
at
flex.messaging.config.MessagingConfiguration.configureBroker(Messagin
gConfiguration.java:84)
at
flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:10
5)
at
jrun.servlet.WebApplicationService.loadServlet(WebApplicationService.
java:1242)
at
jrun.servlet.WebApplicationService.preloadServlets(WebApplicationServ
ice.java:789)
at
jrun.servlet.WebApplicationService.postStart(WebApplicationService.ja
va:291)
at
jrun.deployment.DeployerService.initModules(DeployerService.java:711)
at
jrun.deployment.DeployerService.createWatchedDeployment(DeployerServi
ce.java:242)
at
jrun.deployment.DeployerService.deploy(DeployerService.java:430)
at
jrun.deployment.DeployerService.checkWatchedDirectories(DeployerServi
ce.java:179)
at
jrun.deployment.DeployerService.run(DeployerService.java:891)
at jrunx.scheduler.SchedulerS07/13 22:23:33 user
FlexSwfServlet: init
ervice.invokeRunnable(SchedulerService.java:223)
at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.j
ava:426)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
PLEASE Help!!!
BernieFigured this one out:
Searched thru instance of JRun that flex was installed in and
removed all the additional commons-logging jar files I
found. -
The following is from the event log of a Jrun server. I
believed that when this happens, the user's POSTs no longer
translates the plus signs(+) that the spaces are translated to
during the POST back to spaces. It also appears that until the user
creates a new session, every POST has this plus signe problem. Is
there a way in jsp code to trap that error/warning or to test if
the session is still in good order?
314 / 462 12/15 14:55:09 warning Error while parsing POST
data
315 / 462 java.lang.IllegalArgumentException: Connection
reset
316 / 462 at
javax.servlet.http.HttpUtils.parsePostData(HttpUtils.java:242)
317 / 462 at
jrun.servlet.JRunRequest.parsePostData(JRunRequest.java:396)
318 / 462 at
jrun.servlet.JRunRequest.getParameters(JRunRequest.java:376)
319 / 462 at
jrun.servlet.JRunRequest.getParameter(JRunRequest.java:269)
320 / 462 at
jrun.servlet.ForwardRequest.getParameter(ForwardRequest.java:169)
321 / 462 at
jrun.servlet.session.SessionService.getUrlSessionID(SessionService.java:1011)
322 / 462 at
jrun.servlet.ForwardRequest.getRequestedSessionId(ForwardRequest.java:376)
323 / 462 at
jrun.servlet.ForwardRequest.isRequestedSessionIdValid(ForwardRequest.java:417)
324 / 462 at
jrun.servlet.ForwardRequest.getSession(ForwardRequest.java:331)
325 / 462 at
jrun.servlet.security.WebAppSecurityService.requestBegin(WebAppSecurityService.java:117)
326 / 462 at
jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:228)
327 / 462 at
jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:527)
328 / 462 at
jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
329 / 462 at
jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:348)
330 / 462 at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:451)
331 / 462 at
jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:294)
332 / 462 at
jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)wild ass guess here, but i think the aggregated (9) refers to the same message being duplicated 9 times, and only the one message was written to logs, in order to save space.
-
ANN: XSQL Servlet 0.9.8.6 Release Available
Oracle is excited to announce the 0.9.8.6 technology preview
release of Oracle XSQL Pages and the XSQL Servlet with major
new functionality.
-----------------[ Download Info ]-------------------
http://technet.oracle.com/tech/xml/xsql_servlet/
Click on "Software" to Download
Click on "Release Notes" for Full Documentation
XSQL Pages are server-side XML templates that make it easy
to exploit the powerful combination of SQL, XML and XSLT to
prototype and deploy dynamic, data-powered sites and web
services.
The XSQL Servlet installs into your favorite Java Servlet
environment and works with your favorite relational database,
making it dead easy to:
-> Assemble XML "DataPages" from multiple SQL Query
Results (including full support for Oracle8i's
richly-structured XML Objects Views), local or remote
XML resources, Stored Procedure Calls, etc.
-> Transform the "DataPages" in the server using XSLT,
optionally using stylesheets that are appropriate to
the requesting client, including the ability to
let the client to the stylesheet processing for IE5
or other clients in the future that support this.
Our online support forum for XML is at:
http://technet.oracle.com/support/bboard/discussions.htm
The XSQL Servlet demos (included in the release) are
installed on Oracle's OTN site and can be tested from the
comfort of your browser before you download if you choose:
http://technet.oracle.com/tech/xml/demo/demo1.htm
This new 0.9.8.6 release includes...
More Documentation
==================
More extensive documentation and new tutorial material.
New Demos
=========
New and enhanced demos with additional notes describing key
points each demo is trying to illustrate.
New API's and JavaDoc
=====================
Programmatically process XSQL Pages from your own Java
programs using a new XSQLRequest object, as well as write
custom page "action handlers" with new JavaDoc and
example code.
New Features
============
<xsql:query>
The <query> element from previous releases is now part of
the xsql namespace and is referred to using the new
<xsql:query> syntax in your XSQL Page. A new section details
how to use <xsql:query> to produce XML query results with
nested structure.
<xsql:dml>
Do DML and call stored procedures anywhere you need to in
your XSQL Pages.
<xsql:stylesheet-param>
Use parametrized XSLT Stylesheets and set the stylesheet
parameter values from your XSQL Page.
<xsql:insert-request>
Automatically insert posted XML or HTML Form parameters into
the database.
<xsql:include-xml>
Include arbitrary XML resources at any point in your page by
relative or absolute URL.
<xsql:include-request-params>
Include key information like HTTP Parameters, Session
Variable values and Cookies into your XSQL Page for
addressing them in your stylesheet.
<xsql:include-xsql>
Include the results of one XSQL Page at any point inside
another. This allows sophisticated combinations of multiple
XML data sources and multiple XSLT transformations.
<xsql:include-owa>
Include the results of executing a stored procedure that
makes use of the Oracle Web Agent (OWA) packages inside the
database to generate XML.
<xsql:action>
Invoke a user-defined action handler, implemented in Java,
for executing custom logic and including custom XML
information into your XSQL Page.
nullThat error message is outdated and should read:
Cannot find XSQLConfig.xml in your server-side classpath. The error is definitely that it's not finding XSQLConfig.xml on your classpath. The likely cause is that you did not add the directory:
./xsql/lib
to your CLASSPATH in the JRun Servlet Engine Java environment.
Maybe you are looking for
-
New College MBP - Need Some Windows Help
Hope this is the right forum (?)! For those of you who run Windows on your Macs ... My son starts college next year - he's been on a Mac since age 3 (go figure).(We have 5 at home and 5 at work). I'm getting him a MBP 17" but he'll need Windows (whic
-
How to increase memory size of a variable.
Hello ABAP gurus, Plese clarify my doubt. My doubt is I have one variable which stores 20 characters.now i need to pass 50 characters to store 50 character.How can i achieve this. please clarify my doubt. Regards Maruthi.
-
Adding color to a black and white photo
I've searched everywhere on here and on Youtube and can't seem to find how I can add color to a black and white photo using Aperture 3 that was taken in black and white.
-
Plz help in liking my account with the apple store Because I am not able to download anything from apple store
-
Hi all, We specify the logical database. And we want a field that is not present in any of the tables defaulted in logical database. How can we want to add this additional field from a different table? Thanks in advns, Diwakar