小编Sha*_*wal的帖子

从Java Web应用程序调用取消部署的方法

我正在开发一个Java Web应用程序.该应用程序连接到Lucene索引.我创建了一个IndexSearcher的单例实例.此实例打开一些文件.当我重新部署Web应用程序时,由早期的IndexSearcher实例打开的文件将继续保持打开状态,并且重新部署的应用程序将创建另一个实例.经过一些重新部署后,系统开始抛出"太多打开文件"异常.我想在重新部署之前关闭旧实例,以便关闭旧文件,但我无法弄清楚如何做到这一点?web.xml中是否有一个指令取消部署,类似于load-on-startup?我在jboss服务器上运行web应用程序.

jboss web.xml servlets

11
推荐指数
1
解决办法
6185
查看次数

Amazon Elastic MapReduce上的多个文件作为输入

我正在尝试使用自定义jar在Elastic MapReduce(EMR)上运行一个作业.我正在尝试在一个目录中处理大约1000个文件.当我使用参数提交作业时s3n://bucketname/compressed/*.xml.gz,出现"匹配的0个文件"错误.如果我只传递一个文件的绝对路径(例如s3n://bucketname/compressed/00001.xml.gz),它运行正常,但只处理一个文件.我尝试使用目录(s3n://bucketname/compressed/)的名称,希望将处理其中的文件,但这只是将目录传递给作业.

与此同时,我有一个较小的本地hadoop安装.在那里,当我通过通配符(/path/to/dir/on/hdfs/*.xml.gz)传递我的工作,它工作正常,所有1000个文件都正确列出.

如何让EMR列出我的所有文件?

java amazon-emr

6
推荐指数
1
解决办法
3275
查看次数

从XML解析,插入到mysql; 字符给java.sql.SQLException:字符串值不正确

我正在解析一堆XML文件并将从它们获得的值插入到MySQL数据库中.mysql表的字符集设置为utf8.我使用以下连接URL连接到数据库 - jdbc:mysql://localhost:3306/articles_data?useUnicode=false&characterEncoding=utf8

大多数带有unicode字符的字符串值都输入正常(如希腊字母等),除了一些带有数学符号的字符串值.特别是一个例子 - 当我尝试插入带有数学脚本大写字母g的字符串时(img at www.ncbi.nlm.nih.gov/corehtml/pmc/pmcents/1D4A2.gif)(http://graphemica.com/) (试图解析并插入这篇文章),我得到以下异常 -

java.sql.SQLException: Incorrect string value: '\xF0\x9D\x92\xA2 i...' for column 'text' at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2046)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1964)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1949)
Run Code Online (Sandbox Code Playgroud)

如果我将连接URL更改为-jdbc:mysql:// localhost:3306/articles_data,则插入有效,但所有常规UTF8字符都将替换为问号.

有两种可能的方法我试图解决它,并且还没有成功 -

  1. 解析文章时,保持编码.我正在使用org.apache.xerces.parsers.DOMParser解析xml文件,但无法弄清楚如何防止它解码(相关的XML - <p>&#x1d4a2; is a set containing...</p>).我可以重新编码它,但这似乎效率低下.

  2. 将数学符号插入数据库.

java xml mysql utf-8 utf8mb4

3
推荐指数
1
解决办法
2741
查看次数

如何检查 sympy 关系对于某些值是否成立

我使用关系 GreaterThan 定义了一些约束 -

x = sympy.Symbol('x')
constraint1 = (x >= 0)
Run Code Online (Sandbox Code Playgroud)

我现在想检查约束是否适用于任意值“x”。我尝试使用sympy.checksol,但出现属性错误,所以我猜这不是正确的方法 -

In [7]: sympy.checksol(constraint1, {x: 3})
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-7-cc41bd5986e3> in <module>()
----> 1 sympy.checksol(constraint1, {x: 3})

/Library/Python/2.7/site-packages/sympy/solvers/solvers.pyc in checksol(f, symbol, sol, **flags)
    200         if attempt == 0:
    201             val = f.subs(sol)
--> 202             if val.atoms() & illegal:
    203                 return False
    204         elif attempt == 1:

AttributeError: 'bool' object has no attribute 'atoms'
Run Code Online (Sandbox Code Playgroud)

我什至尝试过constraint1.evalf,但它总是自行返回 -

In [10]: constraint1.evalf(subs={x: 3}) …
Run Code Online (Sandbox Code Playgroud)

python sympy

1
推荐指数
1
解决办法
395
查看次数

标签 统计

java ×2

amazon-emr ×1

jboss ×1

mysql ×1

python ×1

servlets ×1

sympy ×1

utf-8 ×1

utf8mb4 ×1

web.xml ×1

xml ×1