Re: help: about the handler
On 7/13/07, hittih [EMAIL PROTECTED] wrote: I want to use IBM MQ in my Mina app and I don't know how to use it with Mina handlers. Can anyone help me,thanks. Assuming that you know how to create a JMS application, you can pass a reference to the JMS Connection to your IoHandler implementation (i.e. constructor parameter). Then, you will be able to open a queue or topic to sent or receive something. There's nothing different from ordinary MINA IoHandler implementations even if you use JMS. Trustin -- what we call human nature is actually human habit -- http://gleamynode.net/ -- PGP Key ID: 0x0255ECA6
Re: SSLFilter thread safe?
On 7/16/07, Adrian Sandor [EMAIL PROTECTED] wrote: Trustin Lee [EMAIL PROTECTED] writes: Please let us know how we can reproduce your problem. I already did. Copying it again here for your convenience: Please download the test code from http://aditsu.net/ssltest.zip Run the Server, then the Client; almost every time, the client will die after 10-20 seconds with a stack trace like this: Exception in thread main javax.net.ssl.SSLException: bad record MAC [...] I can't reproduce the problem unfortunately. I ran your code with the latest JDK (1.6.0 update 2) and MINA 1.1.1-SNAPSHOT, and it works flawlessly for more than 30 minutes. Trustin -- what we call human nature is actually human habit -- http://gleamynode.net/ -- PGP Key ID: 0x0255ECA6
[jira] Commented: (DIRMINA-313) LoggingFilter logs exceptionCaught events on error level but uses isInfoEnabled in the if-statement
[ https://issues.apache.org/jira/browse/DIRMINA-313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12512890 ] Trustin Lee commented on DIRMINA-313: - Sorry for getting back to this issue very late, but should we log exceptionCaught at INFO level? I thought it was supposed to be logged at WARN level. I recently had some trouble finding caught exceptions because of the logging level. WDYT? LoggingFilter logs exceptionCaught events on error level but uses isInfoEnabled in the if-statement --- Key: DIRMINA-313 URL: https://issues.apache.org/jira/browse/DIRMINA-313 Project: MINA Issue Type: Bug Affects Versions: 1.0.0 Reporter: Niklas Therning Assignee: Niklas Therning Priority: Minor Fix For: 1.0.1 Here's the relevant piece of code: if( SessionLog.isInfoEnabled( session ) ) { SessionLog.error( session, EXCEPTION:, cause ); } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Reopened: (DIRMINA-385) SSLFilter starts writing to session before filter chain is complete
[ https://issues.apache.org/jira/browse/DIRMINA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Trustin Lee reopened DIRMINA-385: - SSLFilter starts writing to session before filter chain is complete --- Key: DIRMINA-385 URL: https://issues.apache.org/jira/browse/DIRMINA-385 Project: MINA Issue Type: Bug Components: Filter Affects Versions: 1.0.3, 1.1.0 Reporter: Chris Audley Assignee: Trustin Lee Attachments: SSLFilter-1.1.0.patch, SSLFilter-HEAD.patch The SSLFilter starts to write packets to the session as soon as it is added to the filter chain (in onPostAdd). However, this can result in errors if a filter exists or is added before SSLFilter in the processing order. Writing to the session in onPostAdd should be considered breaking the contract between filters and the session. If a filter is added in the processing order before the SSLFilter, but after the SSLFilter has been added, SSLFilter will have already sent some messages that the newly added filter will never have the opportunity to process. Any subsequent SSLFilter messages *will* be processed by the newly added filter, potentially creating inconsistencies. Even if the filter before the SSLFilter in processing order is added before the SSLFilter is added, having SSLFilter send messages in onPostAdd ignores the possibility that the other filter needs to send and/or receive messages before the connection is considered open by later filters in the chain. The specific circumstances of my problem is a web proxy traversal filter that needs to be placed in front of the SSLFilter in order to function correctly. This filter is responsible for sending the CONNECT message to the proxy to open an outside connection before the SSL session is negotiated. With the current behavior of SSLFilter, this is simply not possible. I have created a patch for SSLFilter that moves the code for initiated the handshake to sessionOpened. This works correctly in my situation, but breaks the case where an SSLFilter is added to the chain after the connection is opened. I try to address this by adding a conditional handshake initiation to onPostAdd only if the session is already connected. Unfortunately, the IoSession.isConnected() method only indicates if the session hasn't been closed. What SSLFilter.onPostAdd() needs is a way to determine if the sessionOpened event for the session has been fired. My patches disable the code in onPostAdd() until isConnected or another method is able to provide the necessary information. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (DIRMINA-385) SSLFilter starts writing to session before filter chain is complete
[ https://issues.apache.org/jira/browse/DIRMINA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Trustin Lee resolved DIRMINA-385. - Resolution: Fixed Fix Version/s: 2.0.0-M1 I added an autoStart option to SSLFilter in trunk. I didn't add it to branches/1.0 and 1.1 because we entered feature freeze. I hope it satisfies you. Here's the change I've made based on your patch: http://svn.apache.org/viewvc/mina/trunk/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java?r1=556552r2=556551pathrev=556552 Thank you for your continuous input! SSLFilter starts writing to session before filter chain is complete --- Key: DIRMINA-385 URL: https://issues.apache.org/jira/browse/DIRMINA-385 Project: MINA Issue Type: Bug Components: Filter Affects Versions: 1.0.3, 1.1.0 Reporter: Chris Audley Assignee: Trustin Lee Fix For: 2.0.0-M1 Attachments: SSLFilter-1.1.0.patch, SSLFilter-HEAD.patch The SSLFilter starts to write packets to the session as soon as it is added to the filter chain (in onPostAdd). However, this can result in errors if a filter exists or is added before SSLFilter in the processing order. Writing to the session in onPostAdd should be considered breaking the contract between filters and the session. If a filter is added in the processing order before the SSLFilter, but after the SSLFilter has been added, SSLFilter will have already sent some messages that the newly added filter will never have the opportunity to process. Any subsequent SSLFilter messages *will* be processed by the newly added filter, potentially creating inconsistencies. Even if the filter before the SSLFilter in processing order is added before the SSLFilter is added, having SSLFilter send messages in onPostAdd ignores the possibility that the other filter needs to send and/or receive messages before the connection is considered open by later filters in the chain. The specific circumstances of my problem is a web proxy traversal filter that needs to be placed in front of the SSLFilter in order to function correctly. This filter is responsible for sending the CONNECT message to the proxy to open an outside connection before the SSL session is negotiated. With the current behavior of SSLFilter, this is simply not possible. I have created a patch for SSLFilter that moves the code for initiated the handshake to sessionOpened. This works correctly in my situation, but breaks the case where an SSLFilter is added to the chain after the connection is opened. I try to address this by adding a conditional handshake initiation to onPostAdd only if the session is already connected. Unfortunately, the IoSession.isConnected() method only indicates if the session hasn't been closed. What SSLFilter.onPostAdd() needs is a way to determine if the sessionOpened event for the session has been fired. My patches disable the code in onPostAdd() until isConnected or another method is able to provide the necessary information. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
Re: Tutorial on ProtocolCodecFilter, state and threads
Adam, Trustin, I added your comments to the tutorial. Maarten On 7/16/07, Trustin Lee [EMAIL PROTECTED] wrote: Hi Adam, On 6/23/07, Adam Fisk [EMAIL PROTECTED] wrote: That's also how AsyncWeb is implemented, incidentally, with a separate encoder and decoder stored as a session attribute for each session. The code for HttpServerCodecFactory does this with the following: public ProtocolDecoder getDecoder() throws Exception { (topLevelState creation omitted) return new StateMachineProtocolDecoder(topLevelState); } public ProtocolEncoder getEncoder() throws Exception { return new OneShotHttpResponseEncoder(); } This seems preferable to me, honestly, as it's just less complicated. Yes, it is a matter of preference and the characteristic of protocols. I also prefer to create a new decoder per session. However, the decoder of some protocols doesn't need to store any state information, so it might be more suitable to use the same decoder instance for multiple sessions (e.g. UDP). HTH, Trustin On 6/22/07, Adam Fisk [EMAIL PROTECTED] wrote: Hi Maarten- Thanks for the link to that discussion thread. It seems like there's quite a bit of confusion on this point, though. The thread really didn't reach a common consensus in my reading of it. Indeed, I want thread-2 to see the changes made by thread-1. But without synchronization, there is no such guarantee. Right, but the tutorial snippet says MINA ensures that there will never be more than one thread simultaneously executing the decode() function for the same IoSession. For that to be true, there's gotta be some synchronization somewhere. I decided to dig into the code a little bit for the 1.1.0 branch, and indeed ProtocolCodecFilter has the following: try { synchronized( decoderLock ) { decoder.decode( session, in, decoderOut ); } } With the code above, the changes made by thread-1 on the decoder *are guaranteed to be seen by thread-2*. Now, I realize this is an implementation detail of 1.1.0, but the tutorial description above seems to be relying on that detail. So it seems like it should be totally fine to have a ProtocolCodecFactory that returns a new decoder on each getDecoder call (effectively one decoder per session). I still don't see the disadvantage of doing this. It certainly seems less complicated that way! Thanks again for your patience Maarten. Seems like a key point we should all be clear on, so that's why I'm trying to dig a little deeper here. -Adam -- what we call human nature is actually human habit -- http://gleamynode.net/ -- PGP Key ID: 0x0255ECA6
Re: Tutorial on ProtocolCodecFilter, state and threads
On 7/16/07, Maarten Bosteels [EMAIL PROTECTED] wrote: Adam, Trustin, I added your comments to the tutorial. Thanks, Maarten! Trustin -- what we call human nature is actually human habit -- http://gleamynode.net/ -- PGP Key ID: 0x0255ECA6
[jira] Closed: (DIRMINA-24) Performance profiler filter
[ https://issues.apache.org/jira/browse/DIRMINA-24?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mark Webb closed DIRMINA-24. Resolution: Fixed Fix Version/s: 2.0.0-M1 Assignee: Mark Webb as per previous comments, this will now be closed. Performance profiler filter --- Key: DIRMINA-24 URL: https://issues.apache.org/jira/browse/DIRMINA-24 Project: MINA Issue Type: New Feature Components: Filter Affects Versions: 0.7.0, 0.8.0 Reporter: Trustin Lee Assignee: Mark Webb Fix For: 2.0.0-M1 We could profile event handler methods of ProtocolHandler to find bottleneck in runtime. It will be very useful because filters can be added and removed on the fly in runtime. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
Re: SSLFilter thread safe?
Trustin Lee wrote: I can't reproduce the problem unfortunately. I ran your code with the latest JDK (1.6.0 update 2) and MINA 1.1.1-SNAPSHOT, and it works flawlessly for more than 30 minutes. Trustin Hm.. well I used JDK 1.5.0, updates 11 and 12, in Gentoo Linux. 99% of the time I can reproduce the problem in less than 30 seconds. I tried it now with 1.6.0 update 1, and it seems to work. I think it still happened with 1.6 in our production code, but I'm not really sure. But the test code consistently reproduces the problem on 1.5 Adrian
Re: Please vote for OS Summit Asia 2007
There are 2 Mina-based proposed talks. I voted for both of them. Look forward to seeing the presentations!! On 7/16/07, Trustin Lee [EMAIL PROTECTED] wrote: Hi community, I submitted an Apache MINA session for OS Summit Asia 2007 recently. If you are interested in MINA and would like to see my presentation (in poor English ;), please vote! :) http://apachecon.com/html/rate-cfps.html Trustin -- what we call human nature is actually human habit -- http://gleamynode.net/ -- PGP Key ID: 0x0255ECA6 -- ..Cheers Mark
[jira] Commented: (DIRMINA-393) Allow users to choose a Map implementation for storing session attributes.
[ https://issues.apache.org/jira/browse/DIRMINA-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12512960 ] Yueyu Lin commented on DIRMINA-393: --- It's extremely useful for many applications! For an example, if you want to implement a GoogleFileSystem like system, you need to synchronize huge data packets within several chunk servers. Suppose, if every request attribute size is larger than 2 mega bytes and you have to handle 1k clients(of course, this is not the chunk server scenario), the sessions attributes will consume 2000 mega memory! If the Map can be implemented by users, users may adopt other memory/disk swap technology to handle these cases. I have experience to do this kind of jobs. I use the BerkerlyDB java edition to do this. It will be excited to add this feature into Mina. If it does happen, Mina is really for multi-purpose. If there is no one else to pick up this job, I guess I can participate to do this and implement the JE map edition for Mina. Allow users to choose a Map implementation for storing session attributes. -- Key: DIRMINA-393 URL: https://issues.apache.org/jira/browse/DIRMINA-393 Project: MINA Issue Type: New Feature Components: Core Reporter: Trustin Lee Priority: Minor Fix For: 2.0.0-M1 Currently, users don't have any control over how session attributes are stored and managed. Adding SessionAttributesMapFactory property to IoService will give more control to the users, although we will have to provide the best generic implementation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (DIRMINA-218) Ability to transfer channels to socket channels owned by Mina
[ https://issues.apache.org/jira/browse/DIRMINA-218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Heath updated DIRMINA-218: --- Attachment: (was: sendfile.patch) Ability to transfer channels to socket channels owned by Mina - Key: DIRMINA-218 URL: https://issues.apache.org/jira/browse/DIRMINA-218 Project: MINA Issue Type: New Feature Affects Versions: 2.0.0-M1 Reporter: dave irving Assignee: Mike Heath Priority: Minor Fix For: 2.0.0-M1 Attachments: sendfile.patch Id like to be able to transfer file contents to a socket as effeciently as possible. In some cases, making use of FileChannel#transferTo(long, long, WritableByteChannel) is a good choice, as it (in theory) allows the OS to do the transfer without bringing the file content in to user space (e.g. could make use of sendfile behind the scenes or whatever). There is no direct way to obtain the channel from an IOSession - but even if there was - allowing a user to do this directly is dangerous as Mina could have queued writes pending for the channel. This JIRA issue can hopefully kick off some discussion. I see two basic ways to do this: 1) Add sendFile(FileChannel) or similar to IoSession. Mina then queues this request along with other pending writes. Of course, mina must take care of potentially several invocations to FileChannel#transferTo - as all bytes might not be transfered in one go. 2) Allow the user to schedule their own channel commands. For example, a write command scheduled by the user would be invoked by mina when the write queue was free. Im not sure that option 2 is really needed - and could be quite complex, so my preference is (1). If we can get agreement on approach, I'll start on a patch. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (DIRMINA-218) Ability to transfer channels to socket channels owned by Mina
[ https://issues.apache.org/jira/browse/DIRMINA-218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Heath updated DIRMINA-218: --- Attachment: sendfile.patch I've attached a patch that contains the classes that were previously missing. Ability to transfer channels to socket channels owned by Mina - Key: DIRMINA-218 URL: https://issues.apache.org/jira/browse/DIRMINA-218 Project: MINA Issue Type: New Feature Affects Versions: 2.0.0-M1 Reporter: dave irving Assignee: Mike Heath Priority: Minor Fix For: 2.0.0-M1 Attachments: sendfile.patch Id like to be able to transfer file contents to a socket as effeciently as possible. In some cases, making use of FileChannel#transferTo(long, long, WritableByteChannel) is a good choice, as it (in theory) allows the OS to do the transfer without bringing the file content in to user space (e.g. could make use of sendfile behind the scenes or whatever). There is no direct way to obtain the channel from an IOSession - but even if there was - allowing a user to do this directly is dangerous as Mina could have queued writes pending for the channel. This JIRA issue can hopefully kick off some discussion. I see two basic ways to do this: 1) Add sendFile(FileChannel) or similar to IoSession. Mina then queues this request along with other pending writes. Of course, mina must take care of potentially several invocations to FileChannel#transferTo - as all bytes might not be transfered in one go. 2) Allow the user to schedule their own channel commands. For example, a write command scheduled by the user would be invoked by mina when the write queue was free. Im not sure that option 2 is really needed - and could be quite complex, so my preference is (1). If we can get agreement on approach, I'll start on a patch. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
Re: Interesting project for a protocol codec: JavaStruct
Congratulations to the creator of the project. In my opinion, it's a great add-on for MINA. Rodrigo On 7/16/07, Trustin Lee [EMAIL PROTECTED] wrote: Hi community, One of MINA users started a project called 'JavaStruct': http://code.google.com/p/javastruct/wiki/HowToUseJavaStruct JavaStruct is an annotation-based dynamic protocol codec library. It is very useful for implementing binary (often proprietary) protocols with many message types. It currently is based on DataInput/OutputStream, but the author says he will make it support MINA ByteBuffer too. This might be a really nice idea if we can make proper use of annotation IMHO, and providing such a feature as a MINA sub-module might save many souls' sleepless nights. WDYT? Cheers, Trustin -- what we call human nature is actually human habit -- http://gleamynode.net/ -- PGP Key ID: 0x0255ECA6
Re: Interesting project for a protocol codec: JavaStruct
I've ever implemented a set of codec to encode primitive byte/short/int/long/float/double/String/byte[] into a byte[] that is wrapped to a ByteBuffer to send out. This project seems to use annotation to make it easier to use. This kind of things happen because we initially to use other program language to communicate with java server so we cannot rely on Java's own serialization. When these things are done, the efficiency is the reason to support it. For a simple object, the convert process is 10 time faster than Java serialization. If Mina needs this kind of encode/decode, I'm pleased to add them to mina. On 7/17/07, Rodrigo Madera [EMAIL PROTECTED] wrote: Congratulations to the creator of the project. In my opinion, it's a great add-on for MINA. Rodrigo On 7/16/07, Trustin Lee [EMAIL PROTECTED] wrote: Hi community, One of MINA users started a project called 'JavaStruct': http://code.google.com/p/javastruct/wiki/HowToUseJavaStruct JavaStruct is an annotation-based dynamic protocol codec library. It is very useful for implementing binary (often proprietary) protocols with many message types. It currently is based on DataInput/OutputStream, but the author says he will make it support MINA ByteBuffer too. This might be a really nice idea if we can make proper use of annotation IMHO, and providing such a feature as a MINA sub-module might save many souls' sleepless nights. WDYT? Cheers, Trustin -- what we call human nature is actually human habit -- http://gleamynode.net/ -- PGP Key ID: 0x0255ECA6 -- -- Yueyu Lin
[jira] Commented: (DIRMINA-393) Allow users to choose a Map implementation for storing session attributes.
[ https://issues.apache.org/jira/browse/DIRMINA-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12512997 ] Mike Heath commented on DIRMINA-393: Is there really a need to store that much data in your session attributes? Allow users to choose a Map implementation for storing session attributes. -- Key: DIRMINA-393 URL: https://issues.apache.org/jira/browse/DIRMINA-393 Project: MINA Issue Type: New Feature Components: Core Reporter: Trustin Lee Priority: Minor Fix For: 2.0.0-M1 Currently, users don't have any control over how session attributes are stored and managed. Adding SessionAttributesMapFactory property to IoService will give more control to the users, although we will have to provide the best generic implementation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
Re: [jira] Commented: (DIRMINA-393) Allow users to choose a Map implementation for storing session attributes.
I agree Mike. I can understand supporting a user-defined Map, but the 2 MB per session sound like alot. On 7/16/07, Mike Heath (JIRA) [EMAIL PROTECTED] wrote: [ https://issues.apache.org/jira/browse/DIRMINA-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12512997] Mike Heath commented on DIRMINA-393: Is there really a need to store that much data in your session attributes? Allow users to choose a Map implementation for storing session attributes. -- Key: DIRMINA-393 URL: https://issues.apache.org/jira/browse/DIRMINA-393 Project: MINA Issue Type: New Feature Components: Core Reporter: Trustin Lee Priority: Minor Fix For: 2.0.0-M1 Currently, users don't have any control over how session attributes are stored and managed. Adding SessionAttributesMapFactory property to IoService will give more control to the users, although we will have to provide the best generic implementation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. -- ..Cheers Mark
[jira] Commented: (DIRMINA-313) LoggingFilter logs exceptionCaught events on error level but uses isInfoEnabled in the if-statement
[ https://issues.apache.org/jira/browse/DIRMINA-313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513002 ] Niklas Therning commented on DIRMINA-313: - I think changing to warn would be ok. Please go ahead. I'm afraid I can't take care of it myself at the moment. LoggingFilter logs exceptionCaught events on error level but uses isInfoEnabled in the if-statement --- Key: DIRMINA-313 URL: https://issues.apache.org/jira/browse/DIRMINA-313 Project: MINA Issue Type: Bug Affects Versions: 1.0.0 Reporter: Niklas Therning Assignee: Niklas Therning Priority: Minor Fix For: 1.0.1 Here's the relevant piece of code: if( SessionLog.isInfoEnabled( session ) ) { SessionLog.error( session, EXCEPTION:, cause ); } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (DIRMINA-388) I try mina with a ftp client, it's sampe codes.
[ https://issues.apache.org/jira/browse/DIRMINA-388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513121 ] Mark Webb commented on DIRMINA-388: --- It would be great if the code was not as complex. Examples are usually viewed by people who are just learning about MINA and I think if our examples become too complex, people will lose sight of the MINA portions of the example. I try mina with a ftp client, it's sampe codes. --- Key: DIRMINA-388 URL: https://issues.apache.org/jira/browse/DIRMINA-388 Project: MINA Issue Type: Test Components: Example Affects Versions: 1.1.0 Reporter: xiangqinxian Priority: Trivial Attachments: minftpclient.jar Hi, I try mina with ftp client. maybe its a simple example for mina using. noted apache ftpserver project use block socket connection as ftp data channel. but I dont think its a good idea. sorry no comments, If need, please notify me, I would do adding. just do run: $ ant run it will download welcome.msg to current directory. Test code just reside in Controller.java main. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (DIRMINA-393) Allow users to choose a Map implementation for storing session attributes.
[ https://issues.apache.org/jira/browse/DIRMINA-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513119 ] Yueyu Lin commented on DIRMINA-393: --- Sometimes, it's needed. Especially when you developed an application server framework that is used by other developers. You usually told them send an request and add handler to deal with the response. Most of them don't have much knowledge for the request size. Some of them may send huge requests because they think your application server can handle them. If the server cannot take this kind of burden to throw OutOfMemoryException, your whole app server framework will be complained. I agree in fact, in the user level, they can control the request size to simply split big requests to small requests. But some developers may not be happy if you ask them to do it manually. Allow users to choose a Map implementation for storing session attributes. -- Key: DIRMINA-393 URL: https://issues.apache.org/jira/browse/DIRMINA-393 Project: MINA Issue Type: New Feature Components: Core Reporter: Trustin Lee Priority: Minor Fix For: 2.0.0-M1 Currently, users don't have any control over how session attributes are stored and managed. Adding SessionAttributesMapFactory property to IoService will give more control to the users, although we will have to provide the best generic implementation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (DIRMINA-313) LoggingFilter logs exceptionCaught events on error level but uses isInfoEnabled in the if-statement
[ https://issues.apache.org/jira/browse/DIRMINA-313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513126 ] Mark Webb commented on DIRMINA-313: --- Since we now have IoEventType in the trunk, I propose we change LoggingFilter to use a MapIoEventType,LogLevel in order to keep the settings for each event separate. I think that this would become more manageable and easier to maintain. If a user wants to change the log level just make the call: loggingFilter.setEventLogLevel( IoEventType.MESSAGE_RECEIVED, LogLevel.DEBUG ); If the user wants to stop logging for an event the call would be: loggingFilter.setEventLogLevel( IoEventType.SESSION_CREATED, LogLevel.NONE ); We would of course need to create a LogLevel type of NONE. WDYT?? LoggingFilter logs exceptionCaught events on error level but uses isInfoEnabled in the if-statement --- Key: DIRMINA-313 URL: https://issues.apache.org/jira/browse/DIRMINA-313 Project: MINA Issue Type: Bug Affects Versions: 1.0.0 Reporter: Niklas Therning Assignee: Niklas Therning Priority: Minor Fix For: 1.0.1 Here's the relevant piece of code: if( SessionLog.isInfoEnabled( session ) ) { SessionLog.error( session, EXCEPTION:, cause ); } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
Working with Multiple Branches in One Eclipse Workspace
Looking at the page http://mina.apache.org/developer-guide.html#DeveloperGuide-WorkingwithMultipleBranchesinOneEclipseWorkspace, is there a way to do this in Windows? I have a windows machine that I do some development on and would like to set this up so that I am not switching between workspaces all of the time. Thanks. -- ..Cheers Mark
[jira] Commented: (DIRMINA-388) I try mina with a ftp client, it's sampe codes.
[ https://issues.apache.org/jira/browse/DIRMINA-388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513134 ] xiangqinxian commented on DIRMINA-388: -- Yes, it's. But a few people would not write just simple MINA applications in real world. -- 向秦贤 I try mina with a ftp client, it's sampe codes. --- Key: DIRMINA-388 URL: https://issues.apache.org/jira/browse/DIRMINA-388 Project: MINA Issue Type: Test Components: Example Affects Versions: 1.1.0 Reporter: xiangqinxian Priority: Trivial Attachments: minftpclient.jar Hi, I try mina with ftp client. maybe its a simple example for mina using. noted apache ftpserver project use block socket connection as ftp data channel. but I dont think its a good idea. sorry no comments, If need, please notify me, I would do adding. just do run: $ ant run it will download welcome.msg to current directory. Test code just reside in Controller.java main. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.