在JBoss 7.1.1下使用应用程序的Log4J配置

我在使用我的XML log4j配置文件中定义的appender进行日志记录时遇到问题。 我在我的EAR的META-INF文件夹上创建了jboss-deployment-structure.xml ,没有成功。 jboss-deployment-structure.xml结构是: false 我甚至尝试编辑我的standalone.conf.bat文件,添加以下行: set “JAVA_OPTS=%JAVA_OPTS% -Dorg.jboss.as.logging.per-deployment=false” 我的应用程序部署如下: -> MyAppEAR.ear -> META-INF -> MANIFEST.MF -> MyAoo.war -> META-INF -> MANIFEST.MF -> jboss-deployment-structure.xml -> WEB-INF -> web.xml -> lib -> log4j-1.2.17.jar -> — -> classes -> log4j.xml -> … 我注意到以下错误: 忽略子部署中的jboss-deployment-structure.xml。 jboss-deployment-structure.xml仅针对顶级部署进行解析。 我甚至试过从JBOSS 7.1.0迁移到7.1.1 请帮忙! 谢谢 感谢詹姆斯的收获。 我做了你说的,并将jboss-deployment-structure.xml文件移动到MyAppEAR.ear / META-INF 。 我注意到这种方式的exception: jboss-deployment-structure.xml […]

NamespaceContext并使用带有XPath的命名空间

解析包含Java中的命名空间的xpath似乎需要使用NamespaceContext对象,将前缀映射到命名空间URL,反之亦然。 但是,除了自己实现之外,我找不到获取NamespaceContext机制。 这似乎违反直觉。 问题:是否有任何简单的方法从文档中获取NamespaceContext ,或创建一个,或者失败,完全放弃前缀并指定具有完全限定名称的xpath?

虚拟表/调度表

根据我所知的CPP,每个class级都有自己的vtable。 但是这个维基百科链接提到: 对象的调度表将包含对象的动态绑定方法的地址。 通过从对象的调度表中获取方法的地址来执行方法调用。 对于属于同一类的所有对象,调度表是相同的,因此通常在它们之间共享。 有人可以请一些亮点。 谢谢 !

Java变量放在堆栈或堆上

我对Java没什么了解。 我经历了几个链接,发现博客上写着“存储在堆栈上的Java Primitives”,我觉得它依赖于实例变量或局部变量。 经过几个链接我的结论是, 类变量 – 基元 – 作为它包含的Object的一部分存储在堆上。 类变量 – 对象(用户定义) – 作为其包含的Object的一部分存储在堆上。 对于参考对象和实际对象都是如此。 方法变量 – 基元 – 作为堆栈帧的一部分存储在堆栈中。 方法变量 – 对象(用户定义) – 存储在堆上,但对堆上该区域的引用作为该堆栈帧的一部分存储在堆栈中。 如果Object中包含另一个对象,也可以将引用存储在堆上。 静态方法(实际上是所有方法)以及静态变量都存储在堆中。 如果我的理解是错误的,请纠正我。 谢谢。

加载JDBC驱动程序

我被告知加载JDBC驱动程序的首选方法是: Class.forName(driverName); 我知道这对于从XML配置文件或用户输入读取的多个驱动程序之间的动态决策更好。 我很好奇的是,如何调用此语句将指定的驱动程序加载到我们甚至没有将结果“类”对象存储在任何地方的环境中。 JavaDocs条目说: public static Class forName(String className) throws ClassNotFoundExceptionReturns 返回与具有给定字符串名称的类或接口关联的Class对象 在这种情况下,Java开发人员如何仅通过此语句设法促进驱动程序对象的存在?

TaskSchedulerImpl:初始作业未接受任何资源;

这是我想要做的。 我创建了两个DataStax企业集群节点,在此基础上我创建了一个java程序来获取一个表的计数(Cassandra数据库表)。 这个程序是在eclipse中构建的,它实际上来自一个Windows框。 在从Windows运行此程序时,它在运行时失败并出现以下错误: 初始工作没有接受任何资源; 检查群集UI以确保已注册工作并具有足够的内存 已经在这些集群上成功编译和运行相同的代码而没有任何问题。 可能是什么原因导致错误? 码: import org.apache.spark.SparkConf; import org.apache.spark.SparkContext; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.sql.SchemaRDD; import org.apache.spark.sql.cassandra.CassandraSQLContext; import com.datastax.bdp.spark.DseSparkConfHelper; public class SparkProject { public static void main(String[] args) { SparkConf conf = DseSparkConfHelper.enrichSparkConf(new SparkConf()).setMaster(“spark://10.63.24.14X:7077”).setAppName(“DatastaxTests”).set(“spark.cassandra.connection.host”,”10.63.24.14x”).set(“spark.executor.memory”, “2048m”).set(“spark.driver.memory”, “1024m”).set(“spark.local.ip”,”10.63.24.14X”); JavaSparkContext sc = new JavaSparkContext(conf); CassandraSQLContext cassandraContext = new CassandraSQLContext(sc.sc()); SchemaRDD employees = cassandraContext.sql(“SELECT * FROM portware_ants.orders”); […]

它们是Java的Map的任何体面的磁盘实现吗?

我正在寻找java.util.Map的磁盘实现。 没有什么太花哨的东西,只是我可以指向一个目录或文件并让它以某种方式将其内容存储在那里。 有谁知道这样的事情?

Java WatchService在查看映射驱动器时不生成事件

我实现了一个文件监视器,但我注意到java nio文件观察器不会为映射驱动器上复制的文件生成事件。 例如,我在Unix上运行文件观察器来观察映射到Windows( H:\ )的本地目录( /sharedfolder ),然后我将一个文件放在这个目录中( H:\ )但是文件观察者没有生成任何事件。 现在,如果我在Windows上运行文件观察器来监视映射驱动器( H:\ ),它引用了unix路径( /sharedfolder ),并且从unix我将文件放在此文件夹中,文件监视器识别更改并生成事件。 它看起来像一个bug,或者可能是我错过了一些东西,任何想法?

Java:通过资源加载SSL密钥库

如果我有: System.setProperty(“javax.net.ssl.keyStore”, ‘/etc/certificates/fdms/WS1001237590._.1.ks’); System.setProperty(“javax.net.ssl.keyStorePassword”, ‘DV8u4xRVDq’); System.setProperty(“sun.security.ssl.allowUnsafeRenegotiation”, “true”); 我能够毫无问题地打开安全连接。 但是,我想将证书直接存储在战争中,所以我使用:(文件输入流最终将成为资源流,但我这样做是为了让它工作。) System.setProperty(“sun.security.ssl.allowUnsafeRenegotiation”, “true”); KeyStore ks = KeyStore.getInstance(“JKS”); ks.load(new FileInputStream(“/etc/certificates/fdms/WS1001237590._.1.ks”), “DV8u4xRVDq”.toCharArray()); KeyManagerFactory kmf = KeyManagerFactory.getInstance(“SunX509”); kmf.init(ks, “DV8u4xRVDq”.toCharArray()); SSLContext sc = SSLContext.getInstance(“TLS”); sc.init(kmf.getKeyManagers(), null, null); 现在,如果我打开相同的连接,我得到: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

反向数组顺序

我试图颠倒java中数组的顺序。 在O(n)中使用最少内存量的最有效方法是什么。 无需用代码回答,伪代码就可以了。 这是我的思考过程: create a new temp array //I think this is a waste of memory, //but I am not sure if there’s a better way grab elements from the end of the original array -decrement this variable insert element in beginning of temp array -increment this variable then make the original array point […]