小编Thi*_*oyd的帖子

使用JPA Criteria API进行分页的总行数

我正在为我的系统中的实体实现"高级搜索"类功能,以便用户可以使用此实体的属性上的多个条件(eq,ne,gt,lt等)搜索该实体.我正在使用JPA的Criteria API动态生成Criteria查询,然后使用setFirstResult()&setMaxResults()来支持分页.一切都很好,直到这一点,但现在我想在结果网格上显示结果的总数,但我没有看到直接的方式来获得Criteria查询的总计数.
这是我的代码的样子:

CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<Brand> cQuery = builder.createQuery(Brand.class);
Root<Brand> from = cQuery.from(Brand.class);
CriteriaQuery<Brand> select = cQuery.select(from);
.
.
//Created many predicates and added to **Predicate[] pArray**
.
.
select.where(pArray);
// Added orderBy clause
TypedQuery typedQuery = em.createQuery(select);
typedQuery.setFirstResult(startIndex);
typedQuery.setMaxResults(pageSize);
List resultList = typedQuery.getResultList();
Run Code Online (Sandbox Code Playgroud)

我的结果集可能很大,所以我不想加载我的实体进行计数查询,所以告诉我有效的方法来获得像rowCount()Criteria上的方法一样的总计数(我认为它在Hibernate的Criteria中).

java pagination hibernate jpa kotlin

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

哪个API网关可以生产并提供良好的性能和功能?

我们的基础架构中有许多REST服务,它们是使用不同的技术(Java,Go,Ruby,NodeJS)构建的,但它们都有一些常见的要求,如身份验证,授权,速率限制,分析等,所以我们想要有一个API这些API前面的网关,所有通信只通过它发生.我开始了解市场上的一些开源产品,如Strongloop/Loopback,WSO2,TYK,APIAXLE3scale,但大多数产品看起来不像时间测试,可以用于生产.现在我想到的几件事情:

  1. 使用其中一种解决方案后,用户反馈如何?
  2. 很多人都需要这种功能,所以他们是如何做到的?我正朝着正确的方向前进吗?
  3. 没有使用API​​网关,有没有更好的方法来解决我的问题?

security rest wso2 node.js strongloop

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

tomcat中有100个线程TIMED_WAITING,导致它在线程总数超过200时停止

最近我们的一个生产tomcat服务器没有响应,因为tomcat的繁忙线程高达200.当我们在重新启动之前进行线程转储时,我们在TIMED_WAITING状态下获得了100个线程,就像这3个线程一样:

""http-bio-7007"-exec-241" daemon prio=10 tid=0x00002aaab107b000 nid=0x59df waiting on condition [0x0000000051239000]
java.lang.Thread.State: TIMED_WAITING (parking)
   at sun.misc.Unsafe.park(Native Method)
   - parking to wait for  <0x0000000580d877d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
   at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:424)
   at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:86)
   at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:32)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
   at java.lang.Thread.run(Thread.java:662)

""http-bio-7007"-exec-237" daemon prio=10 tid=0x00002aaab186e000 nid=0x596d waiting on condition [0x000000004d1f9000]
java.lang.Thread.State: TIMED_WAITING (parking)
   at sun.misc.Unsafe.park(Native Method)
   - parking to wait for  <0x0000000580d877d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
   at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:424)
   at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:86)
   at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:32)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
   at java.lang.Thread.run(Thread.java:662)

""http-bio-7007"-exec-236" …
Run Code Online (Sandbox Code Playgroud)

java multithreading tomcat thread-dump threadpool

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

开源Redis集群和Redis labs企业集群之间有什么区别?

我们计划将Redis用作集中式和高可用性缓存,因此我们使用Redis以及twemproxy和sentinel查看了Redis Labs企业集群和本地集群式设置.在研究RELC时,我们偶然发现了这个链接:

https://redislabs.com/redis-enterprise-documentation/rlec-compatibility/compatibility-with-open-source-redis-cluster

其中说 - RLEC适用于任何标准Redis客户端,包括独立的Redis客户端和Redis群集客户端.

究竟什么是开源Redis集群,我该如何使用它?这与独立的Redis不同吗?为什么在开源版本可用时才使用RELC,仅用于支持?我没有找到任何详细说明差异的来源,所以如果有人使用过这些解决方案之一,请解释为什么选择一个而不是另一个.

redis redis-sentinel twemproxy

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

为什么New Relic会吃掉很多tomcat内存?

最近我们开始使用New Relic来监控我们在tomcat 7.0.6服务器上托管的生产webapp,但我们发现这个tomcat的内存占用量不断增加,并在一周内耗尽所有服务器(AWS高内存双超大型实例)记忆并变得反应迟钝,只有通过重新启动它才能找回它.我们在启动tomcat时提供Xms和Xmx参数,但在几小时内tomcat进程的内存使用量超过Xmx值并且它一直在增加,直到所有服务器内存都结束.这是进程命令:

/usr/java/jdk1.6.0_24//bin/java
    -Djava.util.logging.config.file=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/conf/logging.properties
    -Xms8192m
    -Xmx8192m
    -javaagent:/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/newrelic/newrelic.jar
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    -Duser.timezone=Asia/Calcutta
    -Djava.endorsed.dirs=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/endorsed
    -classpath /xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/bin/bootstrap.jar:/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/bin/tomcat-juli.jar
    -Dcatalina.base=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6
    -Dcatalina.home=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6
    -Djava.io.tmpdir=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/temp org.apache.catalina.startup.Bootstrap start"
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望这个过程不要使用超过8GB的内存,但在几小时内它会超过10GB,并且在几天之内它会超过20GB并且此服务器上的其他所有内容都会受到影响(我使用'top'来查看内存使用情况) .这怎么可能?

java tomcat memory-leaks jvm-arguments newrelic

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

Sencha Cmd无法从sencha.cfg找到'app.dir'配置属性

我使用Sencha touch 2.1.0构建了一个sencha touch应用程序,现在我正在尝试使用此处提供的说明构建它:http://cclerville.blogspot.in/2013/01/sencha-touch-21-phonegap-220- android_3.html

但是这个错误消息的构建失败了,有人可以帮助我吗?

$ sencha app build package && build/myshop/android/cordova/build
Sencha Cmd v3.0.2.288
[ERR]       Please ensure this command was executed from a valid application directory
[ERR]       Unable to locate 'app.dir' config property from sencha.cfg
Run Code Online (Sandbox Code Playgroud)

我的sencha Cmd目录中的sencha.cfg包含以下条目:

framework.name=touch
framework.version=2.1.0.447
framework.classpath=${framework.dir}/src
# This is the minimum required Sencha Cmd version:
framework.cmd.minver=3.0.0.141
# This is the current version of the Sencha Cmd at the time of this SDK release:
framework.cmd.version=3.0.0.250
Run Code Online (Sandbox Code Playgroud)

extjs sencha-touch sencha-touch-2 cordova sencha-touch-2.1

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

如何使用 winston for Node JS 在每个日志行中记录请求和事务 ID?

我已经使用 Express 构建了一个 Node JS REST 服务。落在此服务上的每个请求都有诸如“X-org-ReqId”和“X-org-Tid”之类的标头,我需要登录在执行此请求期间写入的所有日志行。基本上,我需要在每个日志行中记录一些上下文信息,以帮助我通过多个服务进行事务/请求跟踪。

我正在使用像这样初始化的 winston 记录器:

var winston = require('winston');
var appLogger = new(winston.Logger)({
  transports: [
    new(winston.transports.Console)({
        level: 'info', //TODO: Should be changed to Error in prod
        colorize: true
    }),
    new(winston.transports.DailyRotateFile)({
        filename: '/var/log/org/my-service.log',
        datePattern: '.yyyy-MM-dd',
        tailable: true,
        // handleExceptions: true,
        json: true,
        logstash: true
    })
  ],
  exitOnError: false
});

appLogger.on('error', function(err) {
  console.error("Logger in error", err);
});

module.exports.logger = function() {
  return appLogger;
};
Run Code Online (Sandbox Code Playgroud)

在我想使用它的个别课程中,我喜欢这样:

var logger = require('../config/logger').logger();

myObject.on("error", function (err) {
                logger.error("Error connecting bucket=" …
Run Code Online (Sandbox Code Playgroud)

logging ndc node.js express winston

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

如何在Sencha touch 2.1中创建复杂的数据项目?

我想在列表中创建dataitem,如下所示: 所需的布局

但我无法vbox使用3个组件渲染中间部分.我是按照这个例子:http://www.sencha.com/blog/dive-into-dataview-with-sencha-touch-2-beta-2/

这就是我定义数据项的方式:

Ext.define('MyTabApp.view.CartListItem', {
    extend  : 'Ext.dataview.component.DataItem',
    alias   : 'widget.cartlistitem',
    requires: [
               'Ext.Img'
    ],
    config  : {
        cls: 'cart-list-item',
        layout: {
            type: 'hbox',
            align: 'center'
        },
        image: true,
        details: {
            cls: 'x-details',
            flex: 3,
        },
        pricing: {
            cls: 'x-pricing',
            flex: 1
        },
        removeButton: {
            iconCls     : 'delete',
            iconMask    : true,
            ui          : 'astonvilla',
            style       : 'margin-left: 5px; margin-top:10px; padding:5px;'
        },
        moveButton: {
            iconCls     : 'reply',
            iconMask    : true,
            ui          : 'astonvilla',
            style       : 'margin-left: …
Run Code Online (Sandbox Code Playgroud)

javascript sencha-touch sencha-touch-2 sencha-touch-2.1

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

如何在iPad上使用自定义网址方案进行FB共享?

从我在iPad上的混合应用程序中,只要用户点击相应的按钮,我就想通过FB和Twitter分享某些URL.这是我为twitter做的(有效):

shareStyleOnTwitter : function(styleId, title) {
    var httpUrl = 'twitter://post?message=';
    var url = 'www.mywebsite.com/'+styleId;
    var params = 'Check out '+title+' on #mywebsite '+url;
    window.location = httpUrl+encodeURIComponent(params);
}
Run Code Online (Sandbox Code Playgroud)

这将打开一个Twitter应用程序,其中包含一个带有消息的帖子对话框窗口.用户只需点击"推文"按钮即可发布.

我使用的功能是FB(不起作用):

shareStyleOnFB : function(styleId, title, imageUrl){
    var httpUrl = 'fb://publish/profile/#me?text=';
    var params = 'www.mywebsite.com/'+styleId;
    console.log(httpUrl+encodeURIComponent(params));
    window.location = httpUrl+encodeURIComponent(params);
},
Run Code Online (Sandbox Code Playgroud)

这会打开一个带有我的Feed的FB应用程序,但没有带有消息的共享/发布/状态窗口.

我从这些主题中采纳了这些想法:

Facebook iPhone应用程序支持的所有自定义URL方案是什么?

如何使用iOS上的原生Twitter应用程序打开Twitter推文?

有人能告诉我FB URL方案有什么问题吗?

javascript facebook facebook-sharer ipad facebook-graph-api

5
推荐指数
0
解决办法
982
查看次数

如何使用谷歌地图的lat&long获得印度邮政密码?

我正在创建一个应用程序,它将获取用户的当前位置或他的自定义地图标记,以找出lat和long然后使用这些值我想知道该区域的密码(zipcode),以便我可以告诉用户是否可以交付货物在那个地区与否.

我试过这个:http://www.geonames.org/export/ws-overview.html但它没有完整的数据,不管它有什么不是很准确.是否有其他API可用于获取此类数据?

javascript api google-maps geocoding sencha-touch-2

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