小编Kan*_*mar的帖子

带有点(.)的Spring MVC @PathVariable被截断了

这是Spring MVC @PathVariable被截断的问题的延续

Spring论坛声明它已修复(3.2版本)作为ContentNegotiationManager的一部分.见下面的链接.
https://jira.springsource.org/browse/SPR-6164
https://jira.springsource.org/browse/SPR-7632

在我的应用程序中,带有.com的requestParameter被截断.

谁能解释我如何使用这个新功能?它是如何在xml中配置的?

注意:spring论坛 - #1带有点(.)的Spring MVC @PathVariable正在被截断

rest spring spring-mvc spring-annotations

345
推荐指数
14
解决办法
14万
查看次数

java.sql.SQLException: - ORA-01000:超出最大打开游标数

我收到了ORA-01000 SQL异常.所以我有一些与之相关的问题.

  1. 最大打开游标是否与JDBC连接数完全相关,或者它们是否与我们为单个连接创建的语句和结果集对象相关?(我们正在使用连接池)
  2. 有没有办法配置数据库中的语句/结果集对象的数量(如连接)?
  3. 是否建议在单线程环境中使用实例变量statement/resultset对象而不是方法local statement/resultset对象?
  4. 在循环中执行预准备语句会导致此问题吗?(当然,我本可以使用sqlBatch)注意:一旦循环结束,pStmt就会关闭.

    { //method try starts  
      String sql = "INSERT into TblName (col1, col2) VALUES(?, ?)";
      pStmt = obj.getConnection().prepareStatement(sql);
      pStmt.setLong(1, subscriberID);
      for (String language : additionalLangs) {
        pStmt.setInt(2, Integer.parseInt(language));
        pStmt.execute();
      }
    } //method/try ends
    
    { //finally starts
       pStmt.close()
    } //finally ends 
    
    Run Code Online (Sandbox Code Playgroud)
  5. 如果在单个连接对象上多次调用conn.createStatement()和conn.prepareStatement(sql)会发生什么?

Edit1: 6.使用Weak/Soft引用语句对象是否有助于防止泄漏?

Edit2: 1.有什么办法,我可以在项目中找到所有缺少的"statement.close()"吗?我知道这不是内存泄漏.但我需要找一个符合垃圾收集条件的语句引用(不执行close())?有什么工具可用?或者我必须手动分析它?

请帮我理解.

在Oracle DB中查找已打开的用户名-VELU的游标

转到ORALCE机器并以sysdba启动sqlplus.

[oracle@db01 ~]$ sqlplus / as sysdba 
Run Code Online (Sandbox Code Playgroud)

然后跑

SELECT   A.VALUE,
    S.USERNAME,
    S.SID,
    S.SERIAL#
  FROM V$SESSTAT A,
    V$STATNAME B,
    V$SESSION S
  WHERE A.STATISTIC# = B.STATISTIC#
    AND …
Run Code Online (Sandbox Code Playgroud)

java jdbc

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

java.sql.Timestamp时区是否具体?

我必须在UTC中存储UTC dateTime.
我已将特定时区中给出的dateTime转换为UTC.因为我遵循以下代码.
我的输入日期时间是"20121225 10:00:00 Z"时区是"亚洲/加尔各答"
我的服务器/数据库(oracle)在同一时区(IST)"亚洲/加尔各答"运行

获取此特定时区中的Date对象

        String date = "20121225 10:00:00 Z";
        String timeZoneId = "Asia/Calcutta";
        TimeZone timeZone = TimeZone.getTimeZone(timeZoneId);

        DateFormat dateFormatLocal = new SimpleDateFormat("yyyyMMdd HH:mm:ss z");
                    //This date object is given time and given timezone
        java.util.Date parsedDate = dateFormatLocal.parse(date + " "  
                         + timeZone.getDisplayName(false, TimeZone.SHORT));

        if (timeZone.inDaylightTime(parsedDate)) {
            // We need to re-parse because we don't know if the date
            // is DST until it is parsed...
            parsedDate = dateFormatLocal.parse(date + " "
                    + timeZone.getDisplayName(true, TimeZone.SHORT));
        } …
Run Code Online (Sandbox Code Playgroud)

java oracle datetime date jdbc

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

如何为java.util.Calendar/Date更改TIMEZONE

我想在运行时更改Java Calendar实例中的TIMEZONE值.我在下面试过.但两种情况下的输出都是相同的:

    Calendar cSchedStartCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    System.out.println(cSchedStartCal.getTime().getTime());
    cSchedStartCal.setTimeZone(TimeZone.getTimeZone("Asia/Calcutta"));
    System.out.println(cSchedStartCal.getTime().getTime());
Run Code Online (Sandbox Code Playgroud)

输出:
1353402486773
1353402486773

我也尝试了这个,但输出仍然是相同的:

    Calendar cSchedStartCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    System.out.println(cSchedStartCal.getTime());

    Calendar cSchedStartCal1 = Calendar.getInstance(TimeZone.getTimeZone("Asia/Calcutta"));
    cSchedStartCal1.setTime(cSchedStartCal.getTime());
    System.out.println(cSchedStartCal.getTime());
Run Code Online (Sandbox Code Playgroud)

在API中我看到了以下评论,但我无法理解它:

     * calls: cal.setTimeZone(EST); cal.set(HOUR, 1); cal.setTimeZone(PST).
     * Is cal set to 1 o'clock EST or 1 o'clock PST?  Answer: PST.  More
     * generally, a call to setTimeZone() affects calls to set() BEFORE AND
     * AFTER it up to the next call to complete().
Run Code Online (Sandbox Code Playgroud)

请你帮助我好吗?

可能的解决方案:

    Calendar cSchedStartCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    long gmtTime = cSchedStartCal.getTime().getTime();

    long timezoneAlteredTime …
Run Code Online (Sandbox Code Playgroud)

java datetime calendar

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

'Class.forName("MY_JDBC_DRIVER")'的目的是什么?

我知道类加载对于在运行时使用类名加载类很有用.

但是,在我们的项目中使用JDBC时,我们知道我们将使用哪个驱动程序,并且主要是驱动程序管理器字符串是硬编码

我的问题是:为什么我们Class.forName("JDBC_DRIVER")在这里加载驱动程序?
为什么我们不能继续在类路径中添加驱动程序?因为我们知道我们将使用哪个驱动程序jar.

我相信Class.forName(JDBC_DRIVER)会加载驱动程序DriverManager.这是唯一的原因吗?

编辑1:

DriverManagerAPI文档指出,

作为其(DriverManager)初始化的一部分,DriverManager类将尝试加载"jdbc.drivers"系统属性中引用的驱动程序类.

应用程序不再需要使用显式加载JDBC驱动程序Class.forName().当前加载JDBC驱动程序的现有程序Class.forName()将继续工作而无需修改.

然后,当我使用oracle驱动程序以外; 我是否需要更改系统属性中的驱动程序名称字符串?

java jdbc

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

为什么ThreadPoolExecutor将BlockingQueue作为其参数?

我尝试过创建和执行ThreadPoolExecutor

int poolSize = 2;
int maxPoolSize = 3;
ArrayBlockingQueue<Runnable> queue = new ArrayBlockingQueue<Runnable>(2);
Run Code Online (Sandbox Code Playgroud)

如果我连续尝试7日,8日......任务

  threadPool.execute(task);  
Run Code Online (Sandbox Code Playgroud)

在队列达到最大大小后,
它开始抛出"RejectedExecutionException".意味着我失去了添加这些任务.

在这里,如果BlockingQueue缺少任务,那么它的作用是什么?意味着它为什么不等待?

从BlockingQueue的定义

一个队列,它还支持在检索元素时等待队列变为非空的操作,并在存储元素时等待队列中的空间可用.


为什么我们不能使用linkedlist(正常队列实现而不是阻塞队列)?

java multithreading

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

服务器推送通知实现

组,

我计划将我自己的服务器推送通知服务器实现到Android/IOS应用程序.因此,我的应用程序服务器(可以通过NodeJ实现)将联系该Notification Server以将消息推送到设备.所以我通过互联网浏览并找到了以下现有的解决方案.

谷歌云消息传递

Apple推送通知服务

Firefox os推送通知

Microsoft推送通知服务


Q1)
在各自的网站上; 他们只是告知如何使用他们的通知服务器.但是我需要有关他们如何实现服务器推送的信息.

请告诉我; 他们是否遵循以下任何一项?

轮询

长期民意调查

服务器已发送事件

与客户端的TLS,SSL或TCP套接字连接

XMPP


Q2)

以下两种方法声称虽然我的应用程序没有运行; 他们仍然可以向APP发送通知吗?怎么可能?

Apple推送通知服务

Firefox os推送通知


Q3)

在Firefox os推送通知; 他们已经告知他们正在避免保持活力以节省电池寿命.我的问题是没有keep-alive如何确定连接是否仍然存在?


Q4)

所有这些(GCM/APNS/FireFox OS)实现只是服务器端推送,并且不接受来自客户端的请求.我对么?
所以我的服务器仍然需要处理推送消息以外的数百万设备请求,对吗?
如果我在自己的通知服务器和客户端设备之间使用websocket,我是否需要在我的应用服务器和客户端之间再保持一个websocket连接以接收来自设备的请求?

android push-notification apple-push-notifications ios

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

如何处理来自不同服务器的多个数据库结果以获取请求

我有云统计(Structured data :: CSV)信息; 我必须向管理员和用户公开.

但是为了可扩展性; 数据收集将由与各个DB连接的多台机器(perf监视器)收集.

现在经理(经理)负责向所有性能监测器多播请求; 收集整体统计数据以满足单个UI请求.

所以问题是:

1)如何根据经理的客户要求对多个监控数据进行排序.每个监视器可以根据客户端请求给出结果; 但仍然如何通过java合并多个机器数据?意味着如何在内存中执行sql聚合/标量(例如,Groupby,orderby,avg)函数对从MGR处的多个聚类中检索到的所有结果.如何在java端实现DB sql聚合/标量功能,任何已知的API?我认为我需要的是在hadoop中减少mapreduce技术的一部分.

2)来自UI的请求(假设来自DB的选择计数(*),其中内存> 1000MB)必须转发到多台机器.现在如何将并行请求发送到单个监视器并仅在响应所有节点时使用?意味着如何等待用户线程直到消耗来自perf监视器的所有响应?如何在MGR上触发单个UI请求的并行REST请求.

3)我是否必须在Mgr和Perf监视器上验证UI用户?

4)你认为这种方法有任何缺点吗?

笔记:

1)我没有使用NoSql,因为数据是结构化的,不需要连接.

2)我没有去node.js因为我是新手,可能需要更多时间来开发它.此外,我没有开发任何单线程最适合的并发关键.这里只完成数据的推送/检索.没有修改发生.

3)我希望每个监视器都有单独的数据库,或者至少有两个具有多个集群的DB实例,以支持更快地访问实时BIG统计数据.

在此输入图像描述

java database architecture scalability bigdata

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

SNMP v1,v2c和v3陷阱的区别

解释v1,v2c和v3陷阱PDU /格式之间的区别.

snmp

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

在conn.commit()之后需要setautocommit(true)

conn从池中获取数据库连接().

假设autocommit该连接为TRUE.

现在conn.setautocommit(false)已经定了;

经过几次声明更新后终于conn.commit()/conn.rollback()完成了.

现在我需要显式代码setautocommit(true)恢复到以前的conn状态吗?

commit()\rollback()setautocommit(true)固有的设定?

oracle jdbc

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