__exit__在自定义游标类的块中,我想捕获异常,因此我可以抛出更具体的异常.这样做的正确方法是什么?
class Cursor:
def __enter__(self):
...
def __exit__(self, ex_type, ex_val, tb):
if ex_type == VagueThirdPartyError:
# get new more specific error based on error code in ex_val and
# return that one in its place.
return False # ?
else:
return False
Run Code Online (Sandbox Code Playgroud)
提升__exit__块内的特定异常看起来像是一个黑客,但也许我在想它.
我正在寻找一种工具,可以根据以下几个信号对MongoDB索引的大小进行合理估计:
有没有人偶然发现这样的事情?我可以想象,一旦Mongo的性能下降,一旦它撞到内存墙并且文档开始被分页到磁盘,这将是非常有用的.如果我有一个正常运行的数据库并且想要添加另一个索引,那么我唯一能够知道它是否太大的方法就是实际添加它.
它不需要精确到位,但是对于B-Trees和索引实现的一些假设,我确信它可能足够合理有用.
如果这不存在,我想建立并开源它,所以如果我错过了这个计算所需的任何参数,请在你的答案中包含.
我很感激任何帮助...
我有一个Object,我试图通过调用setObject来发送JMS ObjectMessage.此Object包含HashMap内容以及其他一些字段.当地图包含原始元素时,消息构建正常.同样,如果我向Object添加一个非原始的可序列化字段,它也会发送ok.
这是一个问题:每当我尝试向MAP添加一个可序列化的非基本对象时,我得到以下MessageFormatException:
javax.jms.MessageFormatException: Only objectified primitive objects, String,
Map and List types are allowed but was: com.abc.ObjectInList
Run Code Online (Sandbox Code Playgroud)
ObjectMessage的javadoc指定了......
只能使用Serializable Java对象.
......检查 而......
如果必须发送Java对象集合,则可以使用自JDK 1.2以来提供的Collection类之一.
... 再检查一遍.虽然这没有具体说明集合中的Serializable对象,但我想我会认为这将得到支持.我在这里做错了吗?我只是咬紧牙关,在我的顶级对象中创建一个新字段,这样我就不必将它放入集合中了吗?
使用ActiveMQ 5.2.随后是相关的堆栈跟踪.
2011-08-01 21:06:05,767错误javax.jms.MessageFormatException:只允许客观化的原始对象,String,Map和List类型,但是:com.abc.engine.ejb.BasicSchedule@58f295b9类型:class c om. abc.engine.ejb.BasicSchedule 2011-08-01 21:06:05,767错误org.apache.activemq.command.ActiveMQMessage.checkValidObject(ActiveMQMessage.java:468)2011-08-01 21:06:05,767错误在org .apache.activemq.command.ActiveMQMapMessage.setObject(ActiveMQMapMessage.java:705)2011-08-01 21:06:05,767错误在com.abc.chronicle.ejb.ChronicleMessageBean.initMessage(ChronicleMessageBean.java:149)2011-08 -01 21:06:05,767错误com.abc.chronicle.ejb.ChronicleMessageBean.send(ChronicleMessageBean.java:125)2011-08-01 21:06:05,767错误com.abc.chronicle.ejb.ChronicleMessageBean.onMessage (ChronicleMessageBean.java:77)2011-08-01 21:06:05,767错误在sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)2011-08-01 21:06:05,768错误在sun.reflect.NativeMethodAccessorImpl.invoke( NativeMet hodAccessorImpl.java:39)2011-08-01 21:06:05,777错误[com.abc.chronicle.ejb.ChronicleMessageBean] JMS异常发送消息到SDK.OUTGOING_NOTIFICATION:javax.jms.MessageFormatException:只有客观化的原始对象,String,允许使用Ma p和List类型,但是:com.abc.engine.ejb.BasicSchedule@1003b2df类型:class com.abc.engine.ejb.BasicSchedule 2011-08-01 21:06:05,778 ERROR javax.jms.MessageFormatException:只允许客观化的原始对象,String,Map和List类型,但是:com.abc.engine.ejb.BasicSchedule@1003b2df类型:class c om.abc.engine.ejb.BasicSchedule 2011-08-01 21:06:05,778 org.apache.activemq.command.ActiveMQMessage.checkValidObject(ActiveMQMessage.java:468)2011-08-01 21:06:05,778 ERROR org.apache.activemq.command.ActiveMQMapMessage.setObject(ActiveMQMapMessage.java:705) 2011-08-01 21:06:05,778错误com.abc.chronicle.ejb.ChronicleMessageBean.initMessage(ChronicleMessageBean.java:149)2011-08-01 21:06:05,778错误在com.ab c.chronicle.ejb.ChronicleMessageBean.send(ChronicleMessageBean.java:125)2011-08-01 21:06:05,778 com.abc.chronicle.ejb.ChronicleMessageBean.onMessage(ChronicleMessageBean.java:77)的错误
我想AFImageCache在UIImageView+AFNetworking类别中更换默认使用的东西,这是基于磁盘的,并且可以更准确地管理(类似于NSURLCache).不幸的是,既然UIImageView+AFNetworking是一个类别而不是子类,我不能用另一个类别的子类覆盖af_sharedImageCacheUIImageView.
有没有其他方法来实现这个功能,而无需复制和粘贴大部分内容UIImageView+AFNetworking到我自己的子类中?
我偶尔会在几个不同的消息驱动bean中获得以下EJB异常:
javax.ejb.EJBException: Failed to acquire the pool semaphore, strictTimeout=10000
Run Code Online (Sandbox Code Playgroud)
此行为与特定数据库出现问题时密切对应,从而增加了在MDB的onMessage函数中花费的时间.这些消息由ActiveMQ代理(版本5.4.2)提供.MDB上的预取是2000(每个会话20个会话x 100个消息).
我的问题很普遍.到底发生了什么?我知道,如果bean池中没有实例来处理它,那么传递给运行MDB的服务器的消息将在10秒后超时,但是该消息首先如何传递给服务器?到目前为止,我的假设是MDB仅在不再有任何要处理的消息时才会请求来自代理的消息.他们只是在服务器端"桶"等待太久了吗?
有没有其他人遇到这个?调整预取/信号量超时的建议?
编辑:忘了提到我正在使用JBoss AS 5.1.0
据我所知,RESTful 约定是为POST创建一个资源来返回完整或带注释的创建实体,但是我的经验是,除非正在测试服务本身或客户端,否则通常会丢弃此实体.
在创建面向公众的API时,我不是REST的奴隶,特别是当我认为出于可用性或架构原因它没有意义时,但我总是想知道并且从未做过的一件事是204 No Content从POST 返回创建新实体(特别是那些大尺寸的).这可以减少用户提出大量请求的带宽,并更快地做出回应.
这是一种可以接受的做法,还是会让你死在里面?请注意,出于测试原因,如果不提供端点来检索此实体,我不会考虑这一点.
编辑:我正在寻找轶事观察或具体的例子,说明为什么这个特定用例可能有害,即使它有详细记录.
我必须让计算机计算所有可能的方式可以抛出三个骰子:1 + 1 + 1,1 + 1 + 2,1 + 1 + 3等等.加上这些可能性中的每一个,看看有多少给九个结果和多少给十.
public class prog209b
{
public static void main(String []args){
int sum = 0;
int count = 0;
do{
for(int i = 1; i<=6; i++){
count +=1;
for(int y=1; y<=6; y++){
count += 1;
for(int x=1; x<=6; x++ ){
sum = i + y + x;
}
}
}
}while (sum == 10 && count == 27);{
System.out.println("There are " +count +" ways to get ten");
}
} …Run Code Online (Sandbox Code Playgroud) java ×3
afnetworking ×1
architecture ×1
b-tree ×1
collections ×1
ejb-3.0 ×1
indexing ×1
ios ×1
java-ee ×1
jboss ×1
jms ×1
mongodb ×1
nsurlcache ×1
objective-c ×1
post ×1
python ×1
rest ×1