小编Jos*_*ose的帖子

如何让log4j根据日期和大小滚动文件?

所以log4j带有两个现有的日志滚轮:RollingFileAppender和DailyRollingFileAppender.有没有人听说过一个前者所做的兼容者?

我需要一个appender,它将根据filesize滚动日志文件,但也会将当前日期附加到它.

我一直在考虑创建自己的appender,但如果已经创建了一个,为什么不节省时间并使用那个?

log4j

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

如何查看Sybase中的列元数据?

我有一个同事给我的列列表,但这些列位于数据库中的不同表中.在Sybase中是否有某种工具可以查询列所属的表?

(我已尝试使用Google-ing这种工具,但到目前为止还没有运气)

sybase metadata sybase-ase

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

如何限制JMS DefaultMessageListenerContainer重试消息的次数?

我正在使用Spring JMS连接到Websphere MQ服务器.我实现了SessionAwareListener接口来创建自定义侦听器,重用业务逻辑的旧代码.

在测试时,监听器抛出一个我无法捕获的StringIndexOutOfBoundsException.但是,我在日志中看到以下打印了大约32次,然后DMLC停止了.

WARN  - Execution of JMS message listener failed
Run Code Online (Sandbox Code Playgroud)

有没有办法控制DMLC重试消息的频率,以及如何处理未捕获的异常?

java jms ibm-mq

7
推荐指数
2
解决办法
7615
查看次数

如何将字符串列表转换为对象列表?

我有一个数据库中的角色列表.他们是这种形式

application.Role1.read
application.Role1.write
application.Role2.read
application.Role3.read
Run Code Online (Sandbox Code Playgroud)

因此,每个角色都有一个基于读/写权限的条目.我想将角色转换为POJO,然后我可以将其作为JSON发送到UI.每个POJO都具有角色名称,并具有读取或写入权限的布尔值.

这是RolePermission类:

import com.fasterxml.jackson.annotation.JsonInclude;

@JsonInclude(JsonInclude.Include.NON_NULL)
public class RolePermission {
    private String roleName;
    private boolean readAllowed;
    private boolean writeAllowed;

    public String getRoleName() {
        return roleName;
    }

    public RolePermission setRoleName(String roleName) {
        this.roleName = roleName;
        return this;
    }

    public boolean isReadAllowed() {
        return readAllowed;
    }

    public RolePermission setReadAllowed(boolean readAllowed) {
        this.readAllowed = readAllowed;
        return this;
    }

    public boolean isWriteAllowed() {
        return writeAllowed;
    }

    public RolePermission setWriteAllowed(boolean writeAllowed) {
        this.writeAllowed = writeAllowed;
        return this;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在做这样的转变:

public …
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

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

如何在存储过程中设置默认日期时间参数?

我在 Sybase 中声明了一个存储过程,其中一个参数是 datetime 类型。现在我想为这个日期时间分配一个默认值。

这是声明:

create procedure Procedure 
(
    @fromDate datetime = getdate()
)
...
Run Code Online (Sandbox Code Playgroud)

但是 Sybase 给了我一个错误

Number (102) Severity (15) State (1) Server (SERVER) Procedure (Procedure) Incorrect syntax near '('.
Run Code Online (Sandbox Code Playgroud)

是否有可能做到这一点?如果没有,是否有解决方法?

sybase stored-procedures default-parameters

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

如何在Kivy中心按钮?

我是Python UI编程的新手,我正在尝试Kivy.我想在屏幕上设置一些按钮,但按钮不会从窗口的右下角移动.我想知道是否有人能指出我做错了什么或错过了什么?

vgx.kv:

#:kivy 1.9.1

<VgxMainScreen>:
    BoxLayout:
        size_hint: 0.2,0.2
        size: 200, 100
        orientation: 'vertical'

        Button:
            text: 'Game Select'
        Button:
            text: 'Options'
        Button:
            text: 'Controllers'

<VgxUI>:
    AnchorLayout:
        anchor_x: 'center'
        VgxMainScreen:
            size_hint: 0.2,0.2

<VgxApp>:
    FloatLayout:
        VgxUI:
            center: 0.5, 0.5
Run Code Online (Sandbox Code Playgroud)

VgxApp.py:

import kivy
from kivy.app import App
from kivy.uix.widget import Widget
kivy.require('1.9.1')

class VgxMainScreen(Widget):
    pass

class VgxUI(Widget):
    pass

class VgxApp(App):
    def build(self):
        return VgxUI()

if __name__ == '__main__':
    VgxApp().run()
Run Code Online (Sandbox Code Playgroud)

python kivy

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

如何停止在MQ上丢失消息

我正在编写一个在LINUX环境中运行的Java应用程序,它使用SYNCPOINT在MQ上执行事务.它使用Websphere MQ Java类与MQ服务进行交互.我在我的代码中做的是以下(伪):

MQGetMessageOptions gmo = new MQGetMessageOptions();
gmo.options = MQConstants.MQGMO_FAIL_IF_QUIESCING | MQConstants.MQGMO_SYNCPOINT;

MQMessage message = new Message();
queue.get(message, gmo);

// process the message, save to database

databaseConnection.commit();
queueManager.commit();
Run Code Online (Sandbox Code Playgroud)

我基本上抓取消息,处理它,持久化到数据库,然后调用queueManager上的提交.该进程在TIBRV上侦听消息,以便正常关闭.

我一直在测试这个过程,以确保没有消息丢失.我将20k消息放在队列中,然后运行该过程.我在处理过程中执行正常的关机调用.然后,我比较队列中的消息量与数据库中的消息量.通过TIBRV消息进行正常关闭时,MQ消息数+ DB消息数=最初在队列中的消息总数.

但是,当我做一个kill或者kill -9,我看到一条消息丢失了.我总是得到19999总消息的结果.

有没有办法可以调查我如何丢失这条消息?Websphere App Server上是否有任何我需要注意的事项?

java websphere mq ibm-mq

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

如何使用在 Oracle JDBC 的存储过程中定义的 IN OUT CLOB 参数?

我定义了以下存储过程:

CREATE OR REPLACE PROCEDURE NOTIFY_INSERT (
  FLAG IN VARCHAR2,
  MESSAGE IN OUT CLOB,
  SEQ_NO OUT NUMBER
) 
AS
BEGIN
...
END;
Run Code Online (Sandbox Code Playgroud)

现在我试图在 JDBC 中调用这个存储过程。但是,我收到一个异常,说“java.sql.SQLException:参数类型冲突”。这是从行中提出的

call.execute();
Run Code Online (Sandbox Code Playgroud)

我猜它与第二个参数有关,它是一个 CLOB。

有谁知道我做错了什么?

谢谢你的帮助。

Connection connection = dataSource.getConnection();
CallableStatement call = null;
try {
    call = connection.prepareCall("{ call NOTIFY_INSERT (?,?,?) }");
    call.setString(1, flag);
    call.registerOutParameter(2, Types.CLOB);
    call.setString(2, message);
    call.registerOutParameter(3, Types.NUMERIC);
    call.execute();
    sequenceNo = call.getLong(3);
    message = call.getString(2);
} catch (SQLException e) {
    e.printStackTrace();
} finally {
    if (call != null) {
        try { call.close(); } …
Run Code Online (Sandbox Code Playgroud)

java oracle jdbc

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