小编Nun*_*ado的帖子

什么是创建Log4j记录器的开销

我在我的应用程序中有一些web服务,我想根据webservice名称将它们记录到不同的文件.为此,我正在创建记录器

myLogger = Logger.getLogger(logKey);
Run Code Online (Sandbox Code Playgroud)

我想知道我是否应该缓存这些记录器以避免为每次调用创建它们,或者我可以忽略开销.

java log4j

12
推荐指数
2
解决办法
3427
查看次数

类加载器如何加载静态变量的说明

好的,这是一个关于java的新手问题,但我似乎无法理解它.

我班上有以下代码

private static final String [] LIST_CODE = gerarListCode();
private static final int [][] LIST_INTEGER = new int [][] {
        {947,947}, {110,103}, 
        {947,958}, {110,120}, 
        {947,954}, {103,107}, 
        {947,967}, {110,99,104}};

 private static String [] gerarListCode()
    {
        String [] listCode = new String [LIST_INTEGER.length];

        for (int i=0 ; i<LIST_INTEGER.length ; i++)
        {
           //do some stuff      
        }

        return listaUnicode;
    }
Run Code Online (Sandbox Code Playgroud)

由于以下行中的nullpointerexception,此代码给出了初始化异常

 String [] listCode = new String [LIST_INTEGER.length];
Run Code Online (Sandbox Code Playgroud)

似乎那时变量LIST_INTEGER为null.

有人可以解释原因吗?是类加载器进程是线性的,换句话说,它是在完全加载所有其他变量之前调用方法吗?

java static classloader

9
推荐指数
2
解决办法
9611
查看次数

通过COM连接到Outlook时出错

我有以下python代码

o = win32com.client.Dispatch("Outlook.Application")
ns = o.GetNamespace("MAPI")
profile = ns.Folders.Item("Profile Name")
tasks = profile.Folders.Item("Tasks")
print tasks.Items
Run Code Online (Sandbox Code Playgroud)

当我运行它时,脚本崩溃时出现此错误:

Traceback (most recent call last):
  File "start.py", line 47, in <module>
    o = win32com.client.Dispatch("Outlook.Application")
  File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 108, in _GetGoodDispatchAndUserName
    return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 85, in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2146959355, 'Server execution failed', None, None)
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

win32com.client.gencache.EnsureDispatch("Outlook.Application")
Run Code Online (Sandbox Code Playgroud)

不知道该怎么做以及问题是什么

更新:仅当Outlook正在运行时才会发生这种情况,但是发出getActiveObject会因"操作不可用"而崩溃

python outlook win32com

9
推荐指数
2
解决办法
4578
查看次数

运行目标无效Xcode

我正在使用Xcode 5,当我尝试在iOS 6模拟器上运行我的应用程序时,我收到以下错误.

 The scheme 'Appname' contains no buildables that can be built for the 
`SDKs` supported by the run destination iPhone Retina (4-inch). Make sure your 
targets all specify `SDKs` that are supported by this version of `Xcode`.
Run Code Online (Sandbox Code Playgroud)

Base SDK设置为iOS SDK 7.0.iOS部署目标设置为iOS 6.0

iphone xcode ios7

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

JAVA 6 ServiceLoader

我最近发布了一个关于在客户端定义抽象服务实现的方法的问题.

dfa提到了java.util.ServiceLoader作为我的问题的解决方案.

我最终以类似的方式进行,虽然没有直接使用ServiceLoader,主要是因为我使用的是JDK 5.但是当dfa提到ServiceLoader时,另一个SOer jut陷入了恐慌.

我想知道ServiceLoader实现的主要问题是什么.虽然有限,但似乎是解决这个问题的好方法,而不是像Guice这样的第三方图书馆

java dependency-injection

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

你把SQL查询放在哪里?

我们使用EJB 2.1和JDBC的混合来访问我们的数据库.

我只是让一位同事提到将他的SQL查询放入.properties文件的想法.

如何以及在何处放置SQL查询?

编辑:

你是否用代码内联它,放入类实例化?

java sql jdbc

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

使用Weblogic 10.3记录JPA SQL

通过查看Open JPA网站,我发现我可以使用以下命令记录生成的SQL:

<property name="openjpa.Log" value="DefaultLevel=WARN, Runtime=INFO, Tool=INFO"/>
Run Code Online (Sandbox Code Playgroud)

如果我尝试将上述属性添加到我的persistence.xml,我会从weblogic收到以下警告:

<Warning> <J2EE> <BEA-160202> <You have specified a ope
njpa.Log setting in your configuration for persistence unit services.ear#services-ejb.jar#exp#exp. This setting will be ignored, and all log messages
will be sent to the WebLogic logging subsystem. Trace-level logging is controlle
d by the various JPA-specific debug settings in config.xml, or via the WebLogic
console.>
Run Code Online (Sandbox Code Playgroud)

任何人都知道控制台中的选项是什么,或者我如何编辑config.xml以输出SQL?

java logging weblogic oracle10g openjpa

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

log4j类别

我在log4j.properties上有以下内容

log4j.rootLogger = debug, stdout, fileLog

log4j.appender.stdout = org.apache.log4j.ConsoleAppender

log4j.appender.fileLog = org.apache.log4j.RollingFileAppender
log4j.appender.fileLog.File = C:/logs/services.log
log4j.appender.fileLog.MaxFileSize = 256MB
log4j.appender.fileLog.MaxBackupIndex = 32
#Category: ConsultaDados
log4j.category.ConsultaDados=ConsultaDados
log4j.appender.ConsultaDados=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ConsultaDados.layout=org.apache.log4j.PatternLayout
log4j.appender.ConsultaDados.layout.ConversionPattern={%t} %d - [%p] %c: %m %n
log4j.appender.ConsultaDados.file=C:/logs/consulta.log
log4j.appender.ConsultaDados.DatePattern='.' yyyy-MM-dd-HH-mm
Run Code Online (Sandbox Code Playgroud)

我用以下方法创建我的记录器:

myLogger = Logger.getLogger("ConsultaDados");
Run Code Online (Sandbox Code Playgroud)

但这并没有记录我对该文件的调用.他们被扔进了rootLogger

有任何想法吗?

java logging log4j

4
推荐指数
2
解决办法
4万
查看次数

使用带有Java-Mail的byte []发送电子邮件附件

我有一个字节数组,我希望添加为我发送的电子邮件的附件.

Unfortunally我无法找到如何将其附加为一个字节数组,该解决方案我已经使用磁盘文件(我不想因为我不想写的字节数组只是这样我就可以将它).

我找到了一个解决方案,涉及创建一个扩展DataSource的对象,并将其用作字节数组的包装器,然后将其提供给MimeBodyPart.

谁知道更好的解决方案?

java email

4
推荐指数
1
解决办法
2万
查看次数

迭代二维数组并了解当前位置

我试图迭代使用以下行创建的多维数组

迭代我使用以下代码

visiblematrix= Array.new (10) {Array.new(10){0}}
Run Code Online (Sandbox Code Playgroud)

但这不允许我在迭代时知道当前的x,y位置.如何在不诉诸临时变量的情况下找到它

visiblematrix.each do |x|
            x.each do |y|
                  puts y
            end 
end 
Run Code Online (Sandbox Code Playgroud)

ruby arrays iteration

4
推荐指数
2
解决办法
1万
查看次数