问题列表 - 第28444页

用Hibernate对C3P0进行弹簧配置?

我有一个Spring/JPA应用程序,Hibernate作为JPA提供程序.我在Spring中配置了一个C3P0数据源:

<bean id="myJdbcDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
      destroy-method="close">
  <!-- Connection properties -->
  <property name="driverClass" value="$DS{database.class}" />
  <property name="jdbcUrl" value="$DS{database.url}" />
  <property name="user" value="$DS{database.username}" />
  <property name="password" value="$DS{database.password}" />
  <!-- Pool properties -->
  <property name="minPoolSize" value="5" />
  <property name="maxPoolSize" value="20" />
  <property name="maxStatements" value="50" />
  <property name="idleConnectionTestPeriod" value="3000" />
  <property name="loginTimeout" value="300" />
Run Code Online (Sandbox Code Playgroud)

然后我在Spring实体管理器工厂中指定了这个数据源,如下所示:

<bean id="myLocalEmf"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
      <property name="persistenceUnitName" value="myapp-core" />
      <property name="dataSource" ref="myJdbcDataSource" />
 </bean>
Run Code Online (Sandbox Code Playgroud)

但是,我最近在浏览maven工件时注意到了"hibernate-c3p0".这是什么?这是我需要使用的东西吗?或者我已经正确配置了这个?

spring hibernate c3p0

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

从查询集中获取唯一的多对多记录列表

我的模特:

class Order(models.Model):
    ordered_by = models.ForeignKey(User)
    reasons = models.ManyToManyField(Reason)
class Reason(models.Model):
    description = models.CharField()
Run Code Online (Sandbox Code Playgroud)

基本上,用户创建订单并给出该订单的原因.也就是说,约翰有两个订单(一个用于铅笔,因为他不在,因为他不喜欢他现在的股票.因为他已经出局所以第二笔订购钢笔).

我想打印出用户下订单的所有原因列表.所以在约翰之下,它应该打印出"他出去了","他不喜欢他现在的股票"; 那两条线.如果我只是简单地选择约翰的所有命令,重复它们并打印出他们的"理由"它将打印出"他已经出局","他不喜欢他现在的股票"然后"他又出局"了.我不想要这些重复的值.

如何选择所有订单的原因列表,以便列表包含所有唯一行?

django django-templates django-models

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

对象反射的安全风险是什么?

因此,经过几个小时的解决方法,目前在Google App Engine上禁用了Reflection的限制,我想知道是否有人可以帮助我理解为什么对象反射可能构成威胁.是因为我可以检查一个类的私有变量还是有其他更深层次的原因?

java security reflection code-access-security

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

清洁解决这个红宝石迭代器的诡计?

k = [1,2,3,4,5]
for n in k
  puts n
  if n == 2
    k.delete(n)
  end
end
puts k.join(",")

# Result:
# 1
# 2
# 4
# 5
# [1,3,4,5]

# Desired:
# 1
# 2
# 3
# 4
# 5
# [1,3,4,5]
Run Code Online (Sandbox Code Playgroud)

其他数组迭代器,k.each也会发生同样的效果:

k = [1,2,3,4,5]
k.each do |n|
  puts n
  if n == 2
    k.delete(n)
  end
end
puts k.join(",")
Run Code Online (Sandbox Code Playgroud)

具有相同的输出.

这种情况发生的原因非常清楚...... Ruby实际上并没有迭代存储在数组中的对象,而只是将它变成一个漂亮的数组索引迭代器,从索引0开始,每次都增加索引直到它结束.但是当你删除一个项目时,它仍然会增加索引,所以它不会两次评估相同的索引,这是我想要的.

可能不是正在发生的事情,但这是我能想到的最好的.

有干净的方法吗?是否已有可以执行此操作的内置迭代器?或者我是否需要弄脏并执行数组索引迭代器,并且在删除项目时不会增加?(或遍历数组的克隆,并从原始数组中删除)


澄清

我不只是想从数组中删除项目; 对不起,如果那是清楚的.我想要做的是遍历每个元素,并"处理"它; 此过程有时可能会删除它.为了更准确:

class Living_Thing

  def initialize tracker,id
    @tracker = …
Run Code Online (Sandbox Code Playgroud)

ruby arrays iterator for-loop enumerable

10
推荐指数
2
解决办法
1072
查看次数

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

降低MySQL的耐用性以提高性能

我的网站偶尔会有相当可预测的流量突发,吞吐量比平常增加100倍.例如,我们将在电视节目中亮相,我预计在演出后的一小时内,我将获得比正常情况多100倍的流量.

我的理解是MySQL(InnoDB)通常将我的数据保存在一堆不同的地方:

  • RAM缓冲区
  • commitlog
  • 二进制日志
  • 实际表格
  • 以上所有地方都在我的DB奴隶上

考虑到我在EC2节点上并且大多数东西都经过相同的网络管道(文件系统是网络连接的),这太"耐用"了.此外,驱动器速度很慢.数据价值不高,我宁愿少花几分钟的数据丢失,而不是在人群到来时很可能发生中断.

在这些流量突发期间,我希望只有在我负担得起的情况下才能完成所有这些I/O. 我想尽可能多地保留在RAM中(与一小时内触摸的数据大小相比,我有相当大的RAM空间).如果缓冲区变得稀缺,或者I/O通道没有过载,那么我确定,我希望将事务转到commitlog或二进制日志以发送给slave.如果且仅当I/O通道没有过载时,我想回写实际的表.

换句话说,我希望MySQL/InnoDB使用"回写"缓存算法而不是"直写"缓存算法.我可以说服它这样做吗?

如果这是不可能的,我对一般的MySQL写性能优化技巧感兴趣.大多数文档都是关于优化读取性能的,但是当我收到大量用户时,我正在为所有用户创建帐户,因此这是一个繁重的工作量.

mysql performance caching innodb

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

从Google App Engine数据存储中获取随机记录?

我有一个数据存储区,模型中有大约1,000,000个实体.我想从中获取10个随机实体.

我不知道该怎么做?有人可以帮忙吗?

python google-app-engine google-cloud-datastore

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

找到三个号码只出现一次

在长度为n的序列中,其中n = 2k + 3,即有k个唯一数字出现两次,并且三个数字仅出现一次.

问题是:如何找到仅出现一次的三个唯一数字?

例如,在顺序1 1 2 6 3 6 5 7 7中,三个唯一数字是2 3 5.

注意:3 <= n <1e6,数字范围为1到2e9

内存限制:1000KB,这意味着我们无法存储整个序列.

方法我试过(内存限制超过)?

我初始化一个树,当读入一个数字时,我尝试将其从树中删除,如果remove返回false(未找到),我将它添加到树中.最后,树有三个数字.它工作,但内存限制超过.

我知道如何使用位操作找到一个或两个这样的数字.所以我想知道是否

我们可以找到三个使用相同的方法(或一些类似的方法)?

找到一个/两个数字的方法只出现一次:

如果只有一个数字出现一次,我们可以对序列应用XOR来找到它.

如果有两个,我们可以先对序列应用XOR,然后将序列分成2个部分,结果为1,然后再将XOR应用于2个部分,我们将找到答案.

algorithm bit-manipulation sequence

16
推荐指数
4
解决办法
2249
查看次数

如何让新的Facebook Javascript SDK在IE8中运行?

我把我的页面简化为最简单的东西,它仍然无法在IE8中运行.

这是整个 html页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en">
<head></head>
<body>
<div id="fb-root"></div>
<fb:login-button></fb:login-button>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
  FB.init({appId: 'd663755ef4dd07c246e047ea97b44d6a', status: true, cookie: true, xfbml: true});
  FB.Event.subscribe('auth.sessionChange', function(response) {
    alert(JSON.stringify(response));
  });
  FB.getLoginStatus(function (response) { alert(JSON.stringify(response)); });
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

在firefox,safari和chrome(在Mac上),我得到了我期望的行为:如果我没有登录Facebook,我会在页面加载时获得一个空会话对话框.当我单击"登录"按钮并登录时,我会收到第二个会话对话框.如果我登录Facebook,我会收到两个会话对话:一个来自getLoginStatus调用,另一个来自事件.

在IE8中,加载页面时没有对话框.不调用getLoginStatus回调.当我单击Login按钮时,我会看到一个对话框,但它有一个非常奇怪的错误:

无效的论点

Facebook Connect跨域接收器URL(http://static.ak.fbcdn.net/connect/xd_proxy.php#?=&cb=f3e91da434653f2&origin=http%3A%2F%2Fmysiteurl.com%2Ff210cba91f2a6d4&relation=opener&transport=flash&frame=f27aa957225164&result = xxRESULTTOKENxx)必须将应用程序的Connect URL(http://mysiteurl.com/)作为前缀.您可以在"应用程序设置编辑器"中配置"连接URL".

我已经清理了上面的Connect URL,但它是正确的.

该对话框确实有用户名/密码字段.如果我登录,对话框会被重定向到我的Connect URL,但是没有fb cookie,所以当然没有任何作用.

我在这做错了什么?

更新(2010年9月10日):

这个问题并不普遍.我的网站网址中有一个端口号,因为它是我的测试网站:http://mysiteurl.com:12345.没有端口号,ie8似乎没问题.使用端口号,它会像以前一样继续失败.但是,错误消息现在更简洁:

无效的论点

应用程序配置不允许使用URL

此外,这个问题是IE特有的(实际上,我怀疑它是特定于闪存XD传输,但我不知道如何确认).它适用于我尝试过的所有其他平台/浏览器对.

我仍然没有接近使用端口号的URL进行此工作.

javascript internet-explorer json facebook

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

vs2010:尝试使用Chrome调试javascript:这不是断点的有效位置

每次我尝试在Javascript中设置调试点,在设计模式下或在runniong时设置调试点,我得到错误:

 trying to set a breakpoint in javascript: this is not a valid location for a breakpoint
Run Code Online (Sandbox Code Playgroud)

当我在Debugging Just In Time下进入VS2010的选项屏幕时,我看到选择了Managed,Native和Script,

我还把行"调试器"放了 在被调用的javascript函数的第一行中,但是永远不会中断.

在Web.Config中(尽管这可能是针对已编译的代码:):

<compilation debug="true
Run Code Online (Sandbox Code Playgroud)

我在新机器上重温这个问题......你可以帮忙吗?

编辑:我遗漏了一个巨大的细节:

谷歌浏览器是我的默认浏览器.

(我正在尝试调试仅限Chrome的错误.)

我必须使用VS2010以外的其他调试工具吗?我认为它应该有效.太有希望了,是吗?

javascript debugging google-chrome visual-studio-2010 windows-7

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