问题标签 [jrun]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3268 浏览

coldfusion - 在 ColdFusion 中处理 500 个 JRun servlet

全部 -

有没有办法在 ColdFusion 中处理 500 JRun servlet 错误?我尝试cferror在 ColdFusion 管理员中使用以及使用站点范围的处理程序,但它似乎不起作用。

这是错误消息

0 投票
1 回答
794 浏览

iis - Coldfusion.filter.FormScope.parseQueryString(FormScope.java:355)处的 java.lang.IllegalArgumentException

我们突然开始从 ColdFusion 8 收到以下错误:

javax.servlet.ServletException:根本原因:在 Coldfusion.filter.FormScope.parseQueryString(FormScope.java:355) 在 Coldfusion.filter.FormScope.parsePostData(FormScope.java:327) 在 Coldfusion.filter.FormScope 的 java.lang.IllegalArgumentException .fillForm(FormScope.java:277) 在coldfusion.filter.FusionContext.SymTab_initForRequest(FusionContext.java:438) 在coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:33) 在coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter. java:22) 在coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:126) 在coldfusion.CfmServlet.service(CfmServlet.java:198) 在coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) 在jrun。 servlet.FilterChain.doFilter(FilterChain.java:86) 在 com.intergral.fusionreactor.filter。FusionReactorCoreFilter.doHttpServletRequest(FusionReactorCoreFilter.java:503) at com.intergral.fusionreactor.filter.FusionReactorCoreFilter.doFusionRequest(FusionReactorCoreFilter.java:337) at com.intergral.fusionreactor.filter.FusionReactorCoreFilter.doFilter(FusionReactorCoreFilter.java:246) at com .intergral.fusionreactor.filter.FusionReactorFilter.doFilter(FusionReactorFilter.java:121) 在 jrun.servlet.FilterChain.doFilter(FilterChain.java:94) 在 Coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) 在Coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) 在 jrun.servlet.FilterChain.doFilter(FilterChain.java:94) 在 jrun.servlet.FilterChain.service(FilterChain.java:101) 在 jrun.servlet.ServletInvoker .invoke(ServletInvoker.java:106) 在 jrun。servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) 在 jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286) 在 jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543) 在 jrun.servlet.jrpp.JRunProxyService .invokeRunnable(JRunProxyService.java:203) 在 jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320) 在 jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428) 在 jrunx.scheduler.ThreadPool$ UpstreamMetrics.invokeRunnable(ThreadPool.java:266) 在 jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)543) 在 jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203) 在 jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320) 在 jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java :428) 在 jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266) 在 jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)543) 在 jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203) 在 jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320) 在 jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java :428) 在 jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266) 在 jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

在coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:70) 在coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) 在jrun.servlet.FilterChain.doFilter(FilterChain.java:94) 在jrun。 servlet.FilterChain.service(FilterChain.java:101) 在 jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106) 在 jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) 在 jrun.servlet.JRunRequestDispatcher.invoke (JRunRequestDispatcher.java:286) 在 jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543) 在 jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203) 在 jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable( ThreadPool.java:320) 在 jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428) 在 jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266) 在 jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

我将工作服务器的冷融合配置进行了比较,并没有什么明显的。

我们的 default-web.xml 看起来像:

有人对此有提示吗?

0 投票
1 回答
123 浏览

java - Java JRun 缓存的问题

Jrun4 与我们安装的 Coldfusion 捆绑在一起。最近我们决定在 JRun 中创建一个新服务器,以容纳一个始终需要通过 SSL 运行的新 web 应用程序。

长话短说。该应用程序是在发现错误并快速修复、重新编译后部署的,然后我们重新部署了 Web 应用程序。就 JRun 显示新的 webapp 已部署并正在提供服务而言,当点击 webapp 时,没有提供任何新的更改。为了验证更改确实存在,我实际上验证了校验和差异,并且还在修改后的类文件上运行了 java 反编译器,并且更改存在。我已将控制台消息添加到应用程序以验证它们是否打印到控制台,没有新消息出现。

我尝试过的程序:

  1. 热部署war文件,控制台显示文件已重新部署
  2. 关闭托管文件的 JRun 服务器并使用修改后的文件重新启动它。

  3. 完全删除了托管 webapp 的现有 JRun 服务器。关闭 JRun。重新启动并创建了一个新的 JRun 服务器来托管 webapp。

  4. 打开 javacpl.exe、Java 控制面板,并删除所有临时文件、小程序和应用程序。
  5. 下载 TOMCAT 并将相同的战争部署到 webapps 目录,一切都正确显示。我不能使用tomcat,因为公司需要允许使用它。

我现在认为我可能需要重新映像整个服务器并将 webapp 部署在全新的 JRun 安装上,但是,确实必须有更好的方法。

0 投票
0 回答
76 浏览

servlets - Servlet 输出流未使用 jrun 刷新

我正在尝试将 HTTP 流与 servlet 一起使用。在本地,我使用 orion 作为 servlet 容器,它工作正常,但在运行 JRUN 4.0 的测试服务器上,即使我在输出流上调用 flush(),输出也会被缓冲。关于为什么输出被缓冲以及我能做些什么来阻止它的任何想法?

0 投票
1 回答
665 浏览

apache - 将 Web 应用程序从 Jrun 移动到 Tomcat 服务器

我有一个在 jrun 服务器上运行的 Web 应用程序。我必须将其移至 tomcat 服务器。可能的变化是什么?

0 投票
2 回答
703 浏览

jsp - JRun HTTP 500 响应错误处理程序不适用于 CF 标准

我们使用自动安全探测,它揭示了一个漏洞,导致 500 响应返回默认错误。JRun返回错误的信息泄露被认为是漏洞。这个 500 错误发生在 JRun 中的 CF 上方,CF 无法处理。

这是导致内部 JRun 错误的测试代码片段:

我使用了此处提供的信息: 在 ColdFusion 中处理 500 JRun servlet 以将自定义处理程序添加到 JRun 中,以处理 500 错误,如下所示:

500error.jsp 文件只输出一些基本信息,例如“Opps 发生错误...”以及状态代码和消息,但不输出堆栈跟踪。

这在我使用 CF9 Developer 版本的 MBP 上开发时效果很好。当我昨晚将它投入生产时(在 CF9 标准/Win2k 服务器上),我希望它能够正常工作。当我再次使用请求运行测试片段时,它没有返回自定义错误,而是返回了标准错误 servlet 错误。我仔细检查了路径,并认为jsp中可能有错误。我将其更改为纯 html,仍然是默认错误。

出于纯粹的随机性,我尝试了http://www.domain.com/error-pages/500error.jsp。除了 404 之外,我没有任何事情会发生,但我实际上得到了这个:

那么,jsp似乎不是标准版的功能?所以我然后尝试将 500error.jsp 更改为 500error.html。更改文件名,使其成为静态 html,更新 web.xml,重新启动,现在我在 POST 和点击http://www.domain.com/error-pages/500error 时收到 403 Forbidden。 .html _

所以我不确定发生了什么。标准版是否不允许像这样在 JRun 级别进行自定义处理?它适用于开发人员版,因为它基本上不受限制?在文档中找不到答案。除了 JRun 解决方案之外,还有其他方法可以处理这 500 个问题吗?

谢谢

0 投票
1 回答
1985 浏览

coldfusion - “无法以任何方式加载 ESAPI.properties。失败。” 导致“无法初始化类coldfusion.security.ESAPIUtils”

我有两台服务器——一台生产服务器和一台开发服务器——在 Windows Server 2008 R2 上的 IIS 7.5 上运行 ColdFusion 9.0.1。两者配置相同。我们有一个短暂的问题,在几周到几个月的正常运行时间之后,网站的某些部分(特别是 CFIDE 管理员门户和任何带有 cfwindow 标签的页面)将开始在日志。

根据一些 建议,我几个月前卸载并重新安装了所有热修复程序,五次检查我是否以正确的顺序应用它们并遵循正确的说明集。

这并没有解决问题,但是当我梳理日志文件时,我注意到另一个与 ESAPI 相关的错误(“ESAPI.properties 无法以任何方式加载。失败。”)在 jRun 重新启动后出现在日志中。我尝试将以下声明添加到java.argsin jvm.config

这似乎解决了几个月的问题;没有错误,一切正常。然后,昨天生产服务器再次开始抛出错误。我尝试重新启动 JRun 并重新启动服务器,但错误仍然存​​在。开发服务器非常好。

我尝试创建一个仅实例化和 cfdump 一个 ESAPIUtils 实例的脚本。在开发上,它会转储有关对象的元数据;在生产中,页面会导致错误。

我已经断断续续地与这个问题作斗争了将近一年。有时它会在几天后自行解决,有时会持续数周。我还没有想出一种“诱导”这种情况的方法,所以我们陷入了无法测试的“修复”,这些修复似乎可以工作一段时间,然后就不行了。

这似乎完全相切,但我们已经有内置IsImageFile()函数为有效图像返回 false 的实例。IsImageFile() 怪异似乎在“无法初始化类coldfusion.security.ESAPIUtils”疯狂开始之前就开始了。

以下是服务器版本:

以及来自的堆栈跟踪cfusion-out.log

0 投票
2 回答
1852 浏览

linux - 在 Ubuntu 14.04 上安装 ColdFusion 9,运行连接器向导时出错

设置:

我正在尝试使用 Apache 2.4.7 在 Ubuntu 14.04 上安装 ColdFusion 9。严重地。不要问。

  • 启动一个安装了 LAMP 堆栈的 Vagrant Box ( xplore/ubuntu-14.04 );
  • 执行apt-get updateapt-get upgrade
  • 已安装libstdc++5(但仍然收到 CF 无法验证已安装的警告);
  • ColdFusion_9_WWEJ_linux64.bin.

我必须创建一个符号链接来/etc/apache2/apache2.conf调用/etc/apache2/httpd.conf才能安装 CF,因为 CF9 不允许您指定 apache 配置文件名,但除此之外一切都很顺利。

问题:

当我使用 CF 启动时,./opt/coldfusion9/bin/coldfusion start我收到以下消息:

...这是cf-connectors.sh修改 my的结果apache2.conf,告诉它加载模块/opt/coldfusion9/runtime/lib/wsconfig/1/mod_jrun22.so,然后尝试重新启动 Apache 并由于此错误而失败:

采取的故障排除步骤:

我跟踪了 Apache 错误日志,但这并没有多大帮助:

JRun 二进制文件确实存在,在/opt/coldfusion9/runtime/bin/jrun. 但是,我看过像这样的教程,显示它位于/opt/jrun4...这很奇怪,因为我的 CF9 版本正在引用mod_jrun22.so,让我相信存在版本差异。

运行./opt/coldfusion9/runtime/bin/jrun status,我得到这个输出:

...这告诉我缺少indi.properties文件,并且示例和管理服务器未运行。我认为这是cf-connectors.sh失败的结果。

问题:

如何使 CF 连接器向导成功?我在这里想念什么?

提前致谢!

0 投票
1 回答
96 浏览

debugging - 如何检测在线调试和调试器正在运行?

我们有一个 ColdFusion 8 应用程序在 Windows Server 2003 上的 JRun4 中运行。

我们如何检测(和显示)调试器是否在 CF Administrator 中启用了允许线路调试的情况下运行。检测后,我们希望在调试器正在运行的应用程序上显示警告。

0 投票
0 回答
173 浏览

java - 从 JRun 相关代码迁移到 Tomcat 时遇到问题 - ColdFusion 8 到 ColdFusion 2016

我们正在尝试从 ColdFusion 8 更新到 ColdFusion 2016,并且在迁移一些很久以前由其他人构建的自定义 Java 服务时遇到了一些问题。为了促进 ColdFusion 启动/运行/与服务对话,它们是用 Java 编写的,并使用 JRun 作为依赖项。

我相信jrunx.kernel.ServiceMBean首先扩展接口以定义 ColdFusion 将有权调用的任何函数调用(即来自 ColdFusion->Java 的 API 访问)。

然后,通过扩展jrunx.kernel.ServiceAdapter和实现MyMBean上面的接口来实现这个接口java.lang.Runnable。我相信这就是 ColdFusion 可以运行/与之对话的“使代码成为服务”,然后继续实现自定义代码(包括上面定义的 API 调用、各种线程管理等),以及实现面向服务的方法对于诸如ColdFusion 何时启动/停止可能或需要的服务之start()类的事情。stop()ServiceMBeanServiceAdapter

编译后,将MyPackage.jar文件放入C:\ColdFusion8\runtime\lib\其中,然后注册C:\ColdFusion8\runtime\servers\coldfusion\SERVER-INF\jrun.xml以告诉 ColdFusion 启动服务。

为了让 ColdFusion 能够“调用上述实现所公开的 API 调用” ServiceMBean,我们将使用简单的代码,例如:

我们的理解是,虽然 ColdFusion 8 基于 JRun,但它已被 Tomcat 取代,因此我们期望我们需要更新 Java 代码(即 和 的 JRun 服务接口声明ServiceMBeanServiceAdapter以兼容等效的 Tomcat 服务。最后,我们需要找到一种新方法将其注册到 ColdFusion 2016(我怀疑是在 Tomcat 中C:\ColdFusion2016\cfusion\runtime\conf\servers.xml还是C:\ColdFusion2016\cfusion\runtime\conf\web.xml?)。

如果相关,上面有 3 个抽象为“MyService”的实现: 1. “DirectoryWatcherService” - 监视文件夹以查找文件,然后调用 ColdFusion 对其进行处理 2. “SchedulerService” - 监视数据库以获取通过预定的日期/时间,然后调用 ColdFusion 对其进行处理 3. “GatewayService” - 允许 ColdFusion 向其发送消息,以通过持久 TCP 连接传递到第 3 方服务。它还侦听来自网关的入站请求,然后调用 ColdFusion 对数据进行处理。