- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是新职位,正在学习 Java,因为我负责的 2 个应用程序是用 Java 编写的。但对我来说不幸的是,当我们的网络人员在 Linux 机器上进行 apache 升级时,它导致我们的网站和 GlassFish 中断。此后,他们已将 Apache 恢复到我们升级之前运行的版本,同时他们还必须获取 SSL 的新 key 。
我的环境:物理 Linux Suse Enterprise 服务器,配备 Apache 2.2.10 和 GlassFish Enterprise Server v.2.1.1,运行一个 Web 应用程序和一个企业应用程序。
到目前为止我已采取的步骤:
由于几个严重错误,应用程序无法运行,其中一个与 MySQL 的 JDBC 连接有关。所以我登录到管理控制台并对所有连接池执行 ping 操作。 MySQL 没有连接,所以我在“附加属性”下发现了两件事:serverName 的 IP 地址有一个额外的数字,所以我删除了它。并且该 url 缺少 IP 地址 jdbc:mysql://3306/dbname,因此我将其更改为 jdbc:mysql://127.0.0.1:3306/dbname。我再次 ping,这解决了连接问题。
所以我停止并再次启动域,但仍然没有任何结果。至少我只犯了两个严重错误。我已从下面的服务器日志中复制了主要错误消息。另一条消息只是指出应用程序由于之前的错误而无法启动。由于我一直担任此职务,因此在这次中断之前,GlassFish 服务器上运行的任何应用程序均未进行任何更改,管理控制台中也未进行任何更改。
到目前为止,解决问题对我来说并不是一件容易的事。到目前为止,我已经做了很多谷歌搜索并找到了很多帮助,但我对以下问题没有太多运气。似乎我不需要更改实际应用程序上的任何内容,因为它们在此之前就已经工作了。有任何想法吗?感谢您抽出时间!
[#|2012-03-02T10:36:22.209-0600|SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=12;_ThreadName=pool-1-thread-3;_RequestID=317b1d80-3858-4841-bc6a-8e18e9331da8;|WebModule[/Applications]PWC1275: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
java.lang.RuntimeException: Could not create Component: org.jboss.seam.core.init
at org.jboss.seam.init.Initialization.addComponent(Initialization.java:989)
at org.jboss.seam.init.Initialization.init(Initialization.java:576)
at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4655)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5364)
at com.sun.enterprise.web.WebModule.start(WebModule.java:345)
at com.sun.enterprise.web.LifecycleStarter.doRun(LifecycleStarter.java:58)
at com.sun.appserv.management.util.misc.RunnableBase.runSync(RunnableBase.java:304)
at com.sun.appserv.management.util.misc.RunnableBase._submit(RunnableBase.java:176)
at com.sun.appserv.management.util.misc.RunnableBase.submit(RunnableBase.java:192)
at com.sun.enterprise.web.VirtualServer.startChildren(VirtualServer.java:1762)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1244)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:971)
at com.sun.enterprise.web.LifecycleStarter.doRun(LifecycleStarter.java:58)
at com.sun.appserv.management.util.misc.RunnableBase.runSync(RunnableBase.java:304)
at com.sun.appserv.management.util.misc.RunnableBase.run(RunnableBase.java:341)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.security.AccessControlException: access denied (java.lang.reflect.ReflectPermission suppressAccessChecks)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:107)
at org.jboss.seam.Component.scanMethod(Component.java:788)
at org.jboss.seam.Component.initMembers(Component.java:532)
at org.jboss.seam.Component.<init>(Component.java:254)
at org.jboss.seam.Component.<init>(Component.java:217)
at org.jboss.seam.init.Initialization.addComponent(Initialization.java:974)
... 21 more
|#]
最佳答案
我能够找到我收到的严重错误的解决方案。对我来说,关键是消息中的一行:Caused by: java.security.AccessControlException: access returned (java.lang.reflect.ReflectPermission subsupAccessChecks)
。
我在 Google 上搜索了这些文字,偶然发现了 Felipe Gaucho 撰写的 Java.net 博客文章 http://weblogs.java.net/blog/felipegaucho/archive/2010/01/02/glassfish-securitymanagercheckpermission :
After configuring Hudson to run in a Glassfish with security manager enabled I started to have problems in other applications, specially web applications using reflection to access private fields in Java classes. Over the web I noticed a lot of people struggling with the same issue (Seam, GWT, Vaadin, etc). The problem is caused because most of the modern frameworks tries to access Java private fields directly - perhaps motivated by the popularity of type-unsafe languages or just designed for better performance. The frameworks designer expect to have this freedom but the Security Manager imposes strict rules against that. Applications based on these frameworks running on a secure Glassfish will eventually throw an exception.
他接着提出了两种不同的解决方法,第 2 种方法对我有用。通过在安全策略文件中添加以下代码来抑制 GlassFish 安全策略中的访问检查:
usr/local/glassfish/domains/domain1/config/server.policy
grant codeBase "file:${com.sun.aas.installRoot}/domains/domain1/applications/your_app_name/-" {
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
};
关于java - GlassFish 重新启动 - 现在收到异常,将上下文初始化事件发送到类的监听器实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9587924/
我似乎无法让它发挥作用。我已经尝试过在线样本,但没有一个正是我需要的。基本上我希望能够显示从给定日期过去的天数。我下面的示例是 HTML 和 PHP 的组合,出于某些原因我不得不这样做。 Date
Closed. This question needs to be more focused。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅关注editing this post的一个问题。
在此处搜索“线程关联”的答案,我发现人们对此很感兴趣,但没有什么理由可以节省可能获得稳定的 QueryPerformanceTimer 结果。 假设一个现代操作系统和一个现代 2-4 插槽工作站/服务
我有一个称为main-app的聚合物元素:
我有一个表,我想在每个插入时间记录每个订单的时间戳。但是,我得到的时间戳值为零。 这是我的架构: CREATE TABLE IF NOT EXISTS orders( orde
我正在使用 MongoDB Atlas 来托管数据库并使用这个无服务器函数查询数据: import { NextApiRequest, NextApiResponse } from "next"; /
苹果卸下了转义键,并用OLED触摸条替换了它。这对emacs用户具有影响,特别是对于具有数十年肌肉内存力才能克服此变化的UNIX/emacs用户而言。幸运的是,触摸栏逃生键似乎总是在您需要的时候出现,
抱歉,我对 DbGrids 还很陌生。 我是否应该使用查询的字段编辑器并以某种方式添加一个捕获 TIMEDIFF 的新字段,然后将其添加为我的 DbGrid 中的列? 或者我可以/应该跳过字段编辑器并
正如一本相当古老的书XUnit Patterns所写,NUnit 2.0不会为每个测试创建新的测试夹具,因此,如果测试正在操纵夹具的某种状态,则该夹具会被共享并且可能导致各种不良副作用。 还是一样吗?
我知道自2016年4月以来,Youtube API的默认配额限制为1M。 如果要增加它,我们需要向Google 发送请求。 我想知道我们可以要求的配额限制的最大值是多少? 最佳答案 根据Google开
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
{ "size": 0, "query": { "range": { "LogTime": { "gte": "now-1d",
当我尝试从终端编译这个简单的代码时: #include int main(void) { printf("%f\n",sqrt(10)); return 0; } 使用 gcc mai
我正在尝试筛选抓取一个 html 页面,以便我可以从中提取所需的有值(value)的数据并将其放入文本文件中。到目前为止,一切进展顺利,直到我在 html 页面中遇到了这个: In inventor
这是我的 结果 MySQL 表的示例: 我想将特定用户的所有日期向前移动相同的时间间隔,以便该用户的最高日期是当前时间戳。我知道如何获取以天为单位的间隔: /* result is 823 */ SE
我有一个函数需要从主视图中的几个不同位置调用。我们称它为 updateFunction。 我这样声明: - (void)updateFunction { //updates some vari
我正在尝试找出如何以某种方式嵌套回调。 var alpha = function(callback){ var x = 5; if(x > 2){ callback()
为什么我收到RangeError:超出最大调用堆栈错误?我正在尝试解析文本以找到数学并解决它。它一直有效,直到我开始实现括号'。我试图找出错误,但就是无法弄清楚。 我的代码: var alg = {
我记得几年前,没有使用 SSL 的原因之一是它占用了大量资源,因此影响了应用程序的性能。 如今,以当前的技术,这仍然是一个需要牢记的点吗? 这个问题的出现是因为一位同事担心使用 SSL 会影响他的应用
我正在将我的数据库从 sqlserver 迁移到 mysql当我在 sqlserver 中使用 getDate() 函数时,mysql 中的替换是 Now()但是 Now() 没有返回 getDate
我是一名优秀的程序员,十分优秀!