MINA
  1. MINA
  2. DIRMINA-706

The project ftpserver can't work with mina-2.0-m5

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-M5
    • Fix Version/s: 2.0.0-M6
    • Component/s: Core
    • Labels:
      None
    • Environment:
      Windows Xp sp3
      Eclipse 3.2
      sun jdk-6.0.7
      mina-2.0-m5
      apache-ftpserver-1.0.0

      Description

      After reading the article [Embedding FtpServer in 5 minutes], I've tried it myself. The following is my source code. The server could not be started while I was using mina-core-2.0.0-M5.jar. If the jar was changed to mina-core-2.0.0-M4.jar everything would went well.

      package org.cxz.mina;
      import org.apache.ftpserver.FtpServer;
      import org.apache.ftpserver.FtpServerFactory;
      import org.apache.ftpserver.ftplet.FtpException;
      public class FtpSvrMgr {
      public static void main(String[] args) throws FtpException

      { FtpServerFactory serverFactory = new FtpServerFactory(); FtpServer server = serverFactory.createServer(); // start the server server.start(); }

      }

      Exceptions:

      Exception in thread "main" java.lang.NoSuchMethodError: org.apache.mina.transport.socket.SocketAcceptor.bind(Ljava/net/SocketAddress;)V
      at org.apache.ftpserver.listener.nio.NioListener.start(NioListener.java:182)
      at org.apache.ftpserver.impl.DefaultFtpServer.start(DefaultFtpServer.java:77)
      at org.cxz.mina.FtpSvrMgr.main(FtpSvrMgr.java:14)

      1. using lib mina-core-20.0.0-m4.jpg
        164 kB
        Chang Xiangzhong
      2. issue happens with mina-core-2.0.0-m5.jpg
        225 kB
        Chang Xiangzhong
      3. mina-core-2.0.0-M5.jar
        623 kB
        Chang Xiangzhong

        Activity

        Hide
        Niklas Gustavsson added a comment -

        This seems odd. I've tried replacing M4 for M5 and get no problems. And the IoAcceptor.bind() method that it claims to be missing is one of the very core methods in MINA which has not changed for a very long time.

        Could you maybe try attaching your copy of MINA M5?

        Show
        Niklas Gustavsson added a comment - This seems odd. I've tried replacing M4 for M5 and get no problems. And the IoAcceptor.bind() method that it claims to be missing is one of the very core methods in MINA which has not changed for a very long time. Could you maybe try attaching your copy of MINA M5?
        Hide
        Chang Xiangzhong added a comment -

        When the m4 is used, there's no issue.

        Show
        Chang Xiangzhong added a comment - When the m4 is used, there's no issue.
        Hide
        Chang Xiangzhong added a comment -

        The issues happens when we use the m5.

        Show
        Chang Xiangzhong added a comment - The issues happens when we use the m5.
        Hide
        Chang Xiangzhong added a comment -

        The attach is the m5 jar, which has been tried.

        Show
        Chang Xiangzhong added a comment - The attach is the m5 jar, which has been tried.
        Hide
        Emmanuel Lecharny added a comment -

        Chang is right. And this is my fault ... :/

        I have changed the API from :

        void bind(SocketAddress address) throws IOException;

        to

        void bind(SocketAddress... addresses) throws IOException;

        thinking that it cover the case of a single argument.

        I will restore the previous API.

        Sorry for that.

        Show
        Emmanuel Lecharny added a comment - Chang is right. And this is my fault ... :/ I have changed the API from : void bind(SocketAddress address) throws IOException; to void bind(SocketAddress... addresses) throws IOException; thinking that it cover the case of a single argument. I will restore the previous API. Sorry for that.
        Show
        Emmanuel Lecharny added a comment - Fixed in : http://svn.apache.org/viewvc?rev=769571&view=rev
        Hide
        Chang Xiangzhong added a comment - - edited

        I've reproduced the previous scenerio, and the m5 version mina-core works well.
        This is my first time to take part in open source project.
        Thanks you guys.

        Show
        Chang Xiangzhong added a comment - - edited I've reproduced the previous scenerio, and the m5 version mina-core works well. This is my first time to take part in open source project. Thanks you guys.
        Hide
        Niklas Gustavsson added a comment -

        In my tests, I recompiled the FtpServer code which made this work with M5 just fine. Thanks for fixing this Emmanuel, this means that FtpServer will skip M5 I guess

        Show
        Niklas Gustavsson added a comment - In my tests, I recompiled the FtpServer code which made this work with M5 just fine. Thanks for fixing this Emmanuel, this means that FtpServer will skip M5 I guess

          People

          • Assignee:
            Emmanuel Lecharny
            Reporter:
            Chang Xiangzhong
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development